2012-07-15 59 views
0

我有一個包含多個列表的類。 gson的課堂設計是否正確?使用gson反序列化一個類中的多個ArrayLists

我的類:

Class Data 
{ 
    List<String> actor; 
    List<Integer> text_relevance; 
    List<String> title; 
} 

JSON字符串如下... 是一流的設計此JSON正確的?

{ 
    "data": 
    { 
     "actor":["Abercrombie, Ian","Baker, Dee Bradley","Burton, Corey", 
       "Eckstein, Ashley","Futterman, Nika","Kane, Tom", 
       "Lanter, Matt","Taber, Catherine","Taylor, James Arnold", 
       "Wood, Matthew"], 
     "text_relevance":["308"], 
     "title":["Star Wars: The Clone Wars"] 
    } 
} 
+0

text_relevance不是整數數組,它是一個字符串數組,因爲它在數字周圍有「」。 – Cheesebaron 2012-07-15 15:26:28

回答

0

是的,你的代碼是正確的。我用這段代碼反序列化它:

Gson gson = new Gson(); 
    Type type = new TypeToken<Map<String, Data>>() {}.getType(); 
    Map<String, Data> map = gson.fromJson(json, type); 
    Data data = map.get("data"); 

請注意,Gson會將像「308」這樣的字符串轉換爲相應的整數。這通常用於允許very large values失去精確度。但它對你的情況也很好。

+0

我不應該爲actor,text_relavence等創建一個類嗎? – gnjago 2012-07-15 21:02:47