2011-10-31 146 views
2

我想解析一個json字符串到列表或arraylist。我有以下的JSON響應從我工作的一個Android項目Android gson反序列化到列表

[ 
    { 
     "Class": "Lorem", 
     "Company": "Ipsum", 
     "Id": "XXXX", 
     "Name": "Avent" 
    }, 
    { 
     "Class": "Consectetur", 
     "Company": "Adipiscing", 
     "Id": "YYYYY", 
     "Name": "Nulla" 
    } 
] 

我讀過這裏解析GSON結果幾個例子創建了一個WCF RESTful服務來了,但我有困難,制定一個容器類正如我所見。我已經知道它將單個結果讀入Group類,但無法將其解析爲任何種類的List或ArrayList。

組類:

public class Group { 

    private String Id; 
    private String Name; 
    private String Class; 
    private String Company; 
} 

組容器類:

public class Groups { 
    private List<Group> GRP; 
} 

GSON解析聲明:

Groups GRP = gson.fromJson(jsonString, Groups.class); 

我也要做​​jsonString的一些處理,因爲它顯示並在字符串中留出一些空格(在逗號後面),並在我將它們移除後開始工作東部解析爲一個單一的元素。不知道這是否會產生什麼影響,但我想我會提及它。

此外,我試圖做

類型listType =新TypeToken>(){} .getType(); gson.toJson(myStrings,listType);

但這似乎並不奏效,而且我不知道這對我的情況是否有必要。

回答

4
List<Group> groups = gson.fromJson(jsonString, new TypeToken<List<Group>>() {}.getType()) 
+0

我可以發誓我曾試過這種方式。我想我畢竟不需要容器類。最好是建立一個列表還是一個數組列表,看看我想如何在列表視圖中顯示一個字段?我的印象是,我必須將該字段放入一個字符串[]中,以將它傳遞給列表視圖適配器。 –

+0

我想弄清楚如何在列表視圖中顯示「名稱」字段 –