我想要解析“name”和“id”的详细信息,这里是我的json和android代码
{
"main": {
"details": [
{
"name": "name1",
"id": "id1"
},
{
"name": "name2",
"id": "id2"
}
]
}
}
我的代码是:
try {
JSONObject jsono = new JSONObject(url);
SONArray jarray = jsono.getJSONArray("main");
for (int i = 0; i < jarray.length(); i++) {
JSONObject object = jarray.getJSONObject(i);
Actors actor = new Actors();
actor.setLink(object.getString("name"));
actor.setImage(object.getString("id"));
actorsList.add(actor);
}
return true;
}
我想要把“id”和“name”
答案 0 :(得分:2)
尝试这样:
JSONObject totalObject = new JSONObject(result);
JSONObject mainObject = totalObject.getJSONObject("main");
JSONArray jsonArray = mainObject.getJSONArray("details");
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject object = (JSONObject) jsonArray.get(i);
Actors actor = new Actors();
actor.setLink(object.getString("name"));
actor.setImage(object.getString("id"));
actorsList.add(actor);
}
答案 1 :(得分:0)
按照这种方式:
try {
JSONObject jsono = new JSONObject(url);
SONArray jarray = jsono.getJSONArray("main");
for (int i = 0; i < jarray.length(); i++) {
JSONObject object = jarray.getJSONObject(i);
String name = object.getString("name");
String id = object.getString("id");
}
return true;
}
答案 2 :(得分:0)
main
为JSONObject
,details
为JSONArray
,因此声明jarray
的正确代码如下:
JSONArray jarray = jsono.getJSONObject("main").getJSONArray("details");
答案 3 :(得分:0)
你有一个JSONObject“main”,包含一个JSONOArray“details”。这意味着您必须致电getJSONObject("main").getJSONArray("details");
如果您要多次进行此类解析,我建议您查看Gson - 使用它会更容易。您必须为SerializableName
类的链接和图像字段设置Actor
属性,Gson会注意使用json中的值映射它们。