我正在尝试在我的项目中使用本教程来显示带有json数组的listview:
这是LocationModel.java和LocationList.java。
这是我的json:
{
"data":{
"totalQuests":"11",
"active":[
{
"id":"1",
"name":"TITLENAME",
"description":"text",
"text_when_complete":""
},
{
"id":"2",
"name":"TITELNAME2",
"description":"Text2",
"text_when_complete":""
}
],
"completed":[
{
"id":"3",
"name":"TITLENAMECOMP",
"description":"textCOMP",
"text_when_complete":""
}
]
},
"returnCode":0,
"returnCodeDescription":null
}
我为这个json字符串写了LocationModel有问题。
如何从“活动”和“完成”中获取元素?
感谢您的帮助。
编辑:
感谢MByD的好建议;) 不幸的是,我仍然不知道如何使用它。
在这段代码中,我从json获得了一个“数据”元素。
我在数据对象里面:{“data”:{。 接下来我想从“活跃”中获取元素...... 我该如何使用你的建议?接下来是什么?这是对的吗?
private List<LocationModel> data;
public List<LocationModel> getQuests() {
return data;
}
public void setLocationList(List<LocationModel> data) {
this.data = data;
}
答案 0 :(得分:4)
类结构应该是这样的(根据你的Json字符串的结构)你应该添加getter和setter,因为我没有包含它们:
class MyClass {
Data data;
Integer returnCode;
Integer returnCodeDescription;
}
class Data {
String totalRequests;
Status[] active;
Status[] completed;
}
class Status {
String id;
String name;
String description;
String textWhenCompleted;
}
解析它:
MyClass class = new Gson().fromJson(yourJsonString, MyClass.class);
答案 1 :(得分:0)
您可以尝试使用类生成器工具。