Java 如何使用Gson库反序列化JSON对象数组?
在尝试使用Gson库反序列化JSON对象数组时,我遇到了一个问题 JSON数组的一个示例:Java 如何使用Gson库反序列化JSON对象数组?,java,json,gson,Java,Json,Gson,在尝试使用Gson库反序列化JSON对象数组时,我遇到了一个问题 JSON数组的一个示例: [ {"ID":1,"Title":"Lion","Description":"bla bla","ImageURL":"http:\/\/localhost\/lion.jpg"}, {"ID":1,"Title":"Tiger","Description":"bla bla","ImageURL":"http:\/\/localhost\/tiger.jpg"} ] 你觉得怎么样?反
[
{"ID":1,"Title":"Lion","Description":"bla bla","ImageURL":"http:\/\/localhost\/lion.jpg"},
{"ID":1,"Title":"Tiger","Description":"bla bla","ImageURL":"http:\/\/localhost\/tiger.jpg"}
]
你觉得怎么样?反序列化此类JSON响应的正确Java代码是什么?要反序列化JSONArray,需要使用TypeToken。你可以从网站上了解更多。示例代码:
@Test
public void JSON() {
Gson gson = new Gson();
Type listType = new TypeToken<List<MyObject>>(){}.getType();
// In this test code i just shove the JSON here as string.
List<Asd> asd = gson.fromJson("[{'name':\"test1\"}, {'name':\"test2\"}]", listType);
}
关于这个问题,你能提供更多的指导吗?输入是什么,从哪里获取,尝试什么?问题是当我尝试使用gson.fromJson()获取ObjSet[]数组时,我得到一个空值,我从PHP页面获取这个JSON数组:这里的List asd是什么?有人能帮我吗-?仅供参考,因为类型是java.lang.reflect.Type。有一百万个类型类,所以自动完成可能会让人困惑
...
JSONArray jsonArray = ...
gson.fromJson(jsonArray.toString(), listType);
...