我能够下列数据解析为一个Java对象:使用此代码从JSON URL与GSON
{
"name": "testname",
"address": "1337 455 ftw",
"type": "sometype",
"notes": "cheers mate"
}
:
public class Test
{
public static void main (String[] args) throws Exception
{
URL objectGet = new URL("http://10.0.0.4/file.json");
URLConnection yc = objectGet.openConnection();
BufferedReader in = new BufferedReader(
new InputStreamReader(
yc.getInputStream()));
Gson gson = new Gson();
try {
DataO data = new Gson().fromJson(in, DataO.class);
System.out.println(data.getName());
}catch (Exception e) {
e.printStackTrace();
}
}
}
但现在我想从下面的JSON字符串中存储这些对象的列表:
[
{
"name": "testname",
"address": "1337 455 ftw",
"type": "sometype",
"notes": "cheers mate"
},
{
"name": "SumYumStuff",
"address": "no need",
"type": "clunkdroid",
"notes": "Very inefficient but high specs so no problem."
}
]
有人可以帮我修改我的代码吗?
在这个例子中的问题,我没有看到任何迹象表明这个名单可以包含不同类型的组件(或不同亚型的一个共同的父类型)。 Gson确实具有内置处理功能,用于反序列化到相同类型的事物的列表或数组中。 – 2012-07-08 23:55:02
感谢您的回复。任何关于如何解决此问题的建议? 我应该使用不同的库来解析Json吗? 我应该看看你链接到的用户指南中提到的'TypeToken'吗? – NullPointer 2012-07-08 23:56:16