我有一个像这样的JSON文件:
[ { "number": "3", "title": "hello_world", }, { "number": "2", "title": "hello_world", } ]
在文件具有根元素之前,我将使用:
Wrapper w = gson.fromJson(JSONSTRING, Wrapper.class);
代码,但我不认为如何将Wrapper类编码为根元素是一个数组。
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");
但是我更想知道如何使用这两种方法(如果可能)。
问题是由放置在数组中的JSON对象(在 每种 情况下)的末尾逗号引起的:
{ "number": "...", "title": ".." , //<- see that comma? }
如果删除它们,您的数据将成为
[ { "number": "3", "title": "hello_world" }, { "number": "2", "title": "hello_world" } ]
和
Wrapper[] data = gson.fromJson(jElement, Wrapper[].class);
应该工作正常。