当我试图通过gson检索jsonobject时,它可以工作,但当我使用gson检索jsonArray时,它不工作。如何通过GSON从下面的jsonArray中检索数据并显示到列表视图中?
有人能帮我吗?
我的jsonArray
[
{
"node_title": "One Day camp",
"nid": "202605",
"Icon Image": {
"fid": "146",
"uid": "1",
"filename": "10483937_741467599279220_8365483080196647009_n.jpg",
"uri": "public://10483937_741467599279220_8365483080196647009_n.jpg",
"filemime": "image/jpeg",
}
},
{
"node_title": "University of Kerala",
"nid": "202604",
"Icon Image": {
"fid": "145",
"uid": "1",
"filename": "careerguru.png",
"uri": "public://careerguru.png",
"filemime": "image/png",
}
}
]
6条答案
按热度按时间r3i60tvu1#
我认为问题出在
"filemime": "xxx"
之后的,
wz1wpwve2#
编辑:我想我误解了你的问题,venkatKA的回答是正确的。
通常您会构建一个与您期望接收的json具有相同特征的对象。
然后,您将循环通过该JSONArray,使用Gson将它们序列化为MyJsonObject的数组。
(As对于内部类,我知道Gson可以序列化内部类,但我不能100%确定将该内部类声明为“图标图像”的语法)
我的观点是,使用Gson可以轻松/方便地将Json响应序列化为对象。但如果您只是试图从响应中获取数据,请使用JSONObject类。
du7egjpx3#
假设已经创建了要存储数据的POJO类,即:json数组中的单个json对象。
让我们假设这个类是Node.java并且包含一个节点对象。
您可以使用下面的代码通过Gson从json获取Node对象的列表。
现在,您可以使用List并使用它来显示列表中的数据。
是的,根据venkatKA的回答,json也是错误的,因为它有一个额外的“”。
希望能帮上忙...
ep6jt1vc4#
uoifb46i5#
这里有一个很好的例子:Gson and deserializing an array of objects with arrays in it
因此,您需要像这样解析Json字符串:
3gtaxfhh6#
你可以有这样一个类:
而其他类将是具有特定数组项Node。