我有这个json
{
"summary":
{
"total_count":2
},
"data":
[
{
"id":"129393910815742",
"name":"Mike Pollito"
},
{
"id":"117161088707629",
"name":"James Carballo"
}
],
"paging":
{
"cursors":
{
"after":"mUhn",
"before":"QVFn"
}
}
}
我需要在ArrayList
或任何简单数组中保存ID。
注意:ID的数量可能会有所不同。
问题在于我可以轻松地使用
获得“total_count”int amigos = listatodoslosamigos.getJSONObject("summary").getInt("total_count");
但是当我打电话给
时我试图获得任何“id”JSONObject data = listatodoslosamigos.getJSONObject("data");
我总是得到一个JSONException
这是我的错误代码
public void onCompleted(GraphResponse response) {
/* handle the result */
JSONObject listatodoslosamigos = response.getJSONObject();
try {
int amigos = listatodoslosamigos.getJSONObject("summary").getInt("total_count");
JSONObject data = listatodoslosamigos.getJSONObject("data");
} catch (JSONException e) {}
}
}
).executeAsync();
答案 0 :(得分:0)
我想你想要:
JSONArray data = listatodoslosamigos.getJSONArray("data");
答案 1 :(得分:0)
JSON中的data
属性是一个数组,因此您需要使用getJSONArray
;
JSONArray data = listatodoslosamigos.getJSONArray("data");
您可以使用JSONArray
或通过.listIterator()
对.getJSONObject(index)
进行迭代:
JSONArray data = listatodoslosamigos.getJSONArray("data");
JSONObject member = data.getJSONObject(0);
您还可以使用JSONArray.toCollection
和data.toArray
将JSONArray
转换为普通的Java集合或数组。
答案 2 :(得分:0)
这行错了 JSONObject data = listatodoslosamigos.getJSONObject(" data");
Replace this line with below line
JSONObject data = listatodoslosamigos.getJSONArray(" data");
B'caz data is json array type and you are trying to get json object so that use found this type of exception.