JSONObject 到数组列表?为什么这个 JSONException?
JSONObject to arraylist? Why this JSONException?
我有这个json
{
"summary":
{
"total_count":2
},
"data":
[
{
"id":"129393910815742",
"name":"Mike Pollito"
},
{
"id":"117161088707629",
"name":"James Carballo"
}
],
"paging":
{
"cursors":
{
"after":"mUhn",
"before":"QVFn"
}
}
}
我需要将 ID 保存在 ArrayList
或任何简单的数组中。
注意: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();
我想你想要:
JSONArray data = listatodoslosamigos.getJSONArray("data");
你的data
属性在JSON是一个数组,所以你需要用getJSONArray
,比如;
JSONArray data = listatodoslosamigos.getJSONArray("data");
您可以使用 .listIterator()
或通过 .getJSONObject(index)
;
迭代 JSONArray
JSONArray data = listatodoslosamigos.getJSONArray("data");
JSONObject member = data.getJSONObject(0);
您还可以使用 JSONArray.toCollection
和 data.toArray
将 JSONArray
转换为普通的 Java 集合或数组。
这行错了
JSONObject 数据 = listatodoslosamigos.getJSONObject("data");
Replace this line with below line
JSONObject 数据 = 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.
我有这个json
{
"summary":
{
"total_count":2
},
"data":
[
{
"id":"129393910815742",
"name":"Mike Pollito"
},
{
"id":"117161088707629",
"name":"James Carballo"
}
],
"paging":
{
"cursors":
{
"after":"mUhn",
"before":"QVFn"
}
}
}
我需要将 ID 保存在 ArrayList
或任何简单的数组中。
注意: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();
我想你想要:
JSONArray data = listatodoslosamigos.getJSONArray("data");
你的data
属性在JSON是一个数组,所以你需要用getJSONArray
,比如;
JSONArray data = listatodoslosamigos.getJSONArray("data");
您可以使用 .listIterator()
或通过 .getJSONObject(index)
;
JSONArray
JSONArray data = listatodoslosamigos.getJSONArray("data");
JSONObject member = data.getJSONObject(0);
您还可以使用 JSONArray.toCollection
和 data.toArray
将 JSONArray
转换为普通的 Java 集合或数组。
这行错了 JSONObject 数据 = listatodoslosamigos.getJSONObject("data");
Replace this line with below line
JSONObject 数据 = 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.