使用GSONparsingJSON数组

我有一个像这样的JSON文件:

[{ "number" : "3", "title" : "hello_world", }, { "number" : "2", "title" : "hello_world", }] 

之前,当文件有一个根元素,我会使用:

 Wrapper w = gson.fromJson(JSONSTRING, Wrapper.class); 

代码,但我不知道如何编写Wrapper类作为根元素是一个数组。

我曾尝试使用:

 Wrapper[] wrapper = gson.fromJson(jsonLine, Wrapper[].class); 

有:

 public class Wrapper{ String number; String title; } 

但没有任何运气。 我还可以使用这种方法读取这个吗?

PS我有这个工作使用:

 JsonArray entries = (JsonArray) new JsonParser().parse(jsonLine); String title = ((JsonObject)entries.get(0)).get("title"); 

但我宁愿知道如何使用这两种方法(如果可能)。

问题是由数组的最后一个元素(每个title )之后的逗号引起的。 如果您删除它并将数据更改为

 [{ "number" : "3", "title" : "hello_world" }, { "number" : "2", "title" : "hello_world" }] 

Wrapper[] data = gson.fromJson(jElement, Wrapper[].class); 将工作正常。

 Gson gson = new Gson(); Wrapper[] arr = gson.fromJson(str, Wrapper[].class); class Wrapper{ int number; String title; } 

似乎工作正常。 但是在你的string中有一个额外的逗号。

 [ { "number" : "3", "title" : "hello_world" }, { "number" : "2", "title" : "hello_world" } ] 
 public static <T> List<T> toList(String json, Class<T> clazz) { if (null == json) { return null; } Gson gson = new Gson(); return gson.fromJson(json, new TypeToken<T>(){}.getType()); } 

样品电话:

 List<Specifications> objects = GsonUtils.toList(products, Specifications.class);