使用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);