我有一个小函数,它发出一个JSON Api请求并返回一个字符串给Postexecute:
public class fetch extends AsyncTask<URL, Void, String> {
@Override
protected String doInBackground(URL... urls) {
URL search = urls[0];
String results = null;
try {
results = getResponse(search);
} catch (IOException e) {
e.printStackTrace();
}
return results;
}
现在我想获得一些特定的JSON对象,但我有多个相同的对象:
[
{
"A1": {
"about": {
"IDs": [19]
}, ,
"value": 1
},
"A2": {
"about": {
"IDs": [19]
},
"value": 2
}
},
{
"A1": {
"about": {
"IDs": [20]
}, ,
"value": 3
},
"A2": {
"about": {
"IDs": [20]
},
"value": 4
}
}
]
我该怎么做?
答案 0 :(得分:3)
那里有一组数组中的地图对象。
在这个漂亮的JSON编辑器中查看它:http://jsoneditoronline.org/?id=78f6765cb52e5403d01a8feead392611
首先访问数组元素0或1,然后访问地图对象。
secondObject = myjsonarray.getJsonObject(1)
a2 = secondObject.getJsonObject("A2")
thisisfour = a2.getInt("value")
或者所有人串在一起:
thisisfour = myjsonarray.getJsonObject(1).getJsonObject("A2").getInt("value")
相关的javadoc引用:
http://docs.oracle.com/javaee/7/api/javax/json/JsonObject.html http://docs.oracle.com/javaee/7/api/javax/json/JsonArray.html