我有一个这样的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;
}
但没什么好运气的。我还能怎么用这种方法来读这篇文章呢?
附言:我使用以下命令来运行:
JsonArray entries = (JsonArray) new JsonParser().parse(jsonLine);
String title = ((JsonObject)entries.get(0)).get("title");
但我更愿意知道如何(如果可能)用这两种方法来做这件事。
发布于 2013-08-25 03:01:10
Gson gson = new Gson();
Wrapper[] arr = gson.fromJson(str, Wrapper[].class);
class Wrapper{
int number;
String title;
}
似乎工作得很好。但是字符串中有一个额外的,
逗号。
[
{
"number" : "3",
"title" : "hello_world"
},
{
"number" : "2",
"title" : "hello_world"
}
]
发布于 2016-11-10 16:10:39
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);
发布于 2019-12-04 15:47:53
Wrapper[] data = gson.fromJson(jElement, Wrapper[].class);
https://stackoverflow.com/questions/18421674
复制相似问题