2011-10-04 88 views
6

我似乎無法弄清楚這一點。我看過一些SO帖子(herehere),我的情況有點不同。GSON解析動態JSON字段

我不確定是否需要註冊一個新的TypeToken或什麼。但我的JSON對象是這樣的:

{ 
    "id": 6, 
    "error": "0", 
    "dates": { 
     34234 : "2011-01-01" // I want to parse the date into a string. 
     87474 : "2011-08-09" // The first values are all unique. 
     .     //this can be any number of entries. 
     . 
     . 
     74857 : "2011-09-22" 
    } 
} 

我已經創建了我的兩個對象是這樣的:

public class Response { 

    public Integer id; 
    public String error; 
    public DateList dates; 
} 

獨立文件:

public class DateList { 

    public List<Map<Integer, String>> dateString; 
} 

我不知道如何馴服它是爲了讓它正確。文檔似乎沒有幫助...而我見過的其他例子是解析一個自定義對象,而不是字符串類型。

謝謝!

+2

我不知道GSON是什麼,但是'List '至少缺少一個'>'。另外,它不應該只是一張地圖而不是一張地圖清單? – svens

+0

對不起,我沒有複製並粘貼該代碼。謝謝您的幫助! –

回答

12

我嘗試以這種形式:

JSON的

{ 
    "id": 6, 
    "error": "0", 
    "dates": { 
     "34234" : "2011-01-01" 
     "87474" : "2011-08-09" 
     "74857" : "2011-09-22" 
    } 
} 

而且Response.java

public class Response { 
    public Integer id; 
    public String error; 
    public Map<Integer, String> dates; 
} 

至少,這似乎工作開箱。

+0

謝謝!我知道這很簡單! –

+0

也爲我工作。我以爲我必須寫一個自定義的TypeAdapter或神奇的東西。 – squeeish