我是JSON的新手。我正在使用json processing library。给出JSON如:
{
"data": [
{
"name": "John Doe",
"id": "2980311"
},
{
"name": "Jane Doe",
"id": "10221412"
},
{
"name": "George Doe",
"id": "111623489"
}
],
"paging": {
"blah" : "blah"
}
}
如何获取id值。我开始尝试使用数组:
String URL = "https://graph.facebook.com/username/friends?access_token=";
String token = "";
String[] response = loadStrings(URL+token);
if(response != null) {
JSONObject result = new JSONObject(response);
JSONArray data = result.getJSONArray("data");
}
这打印出来:
JSONObject["data"] not found.
JSONObject["data"] is not a JSONArray.
但它确实得到了数据。如果我打印出response
,我会看到数据。
我错过了什么?
答案 0 :(得分:2)
我在该库中没有看到JSONObject
构造函数接受String[]
(response
变量的类型)。有JSONObject(String)
,而且JSONObject(Object)
。如果你将String[]
传递给JSONObject
,那么它将与后者匹配,后者不会(立即)向我看来它会做你想做的事。
我怀疑您希望从网址中获取一个String
,然后将其传递到JSONObject(String)
,此时应该可以正常运行。
答案 1 :(得分:0)
试试这个..
GraphObject responseGraphObject = response.getGraphObject();
JSONObject json = responseGraphObject.getInnerJSONObject();
JSONObject sys = json.getJSONObject("data");
Log.e("urlimage json", sys.getString("url"));