1

我是 JSON 新手。我正在使用json 处理库。给定一个 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我会看到数据。

我错过了什么?

4

2 回答 2

2

我没有JSONObject在该库中看到接受String[]response变量的类型)的构造函数。有JSONObject(String),有JSONObject(Object)。如果您将 a 传递给String[]JSONObject它将与后者匹配,这在我看来(立即)不会像您想要的那样做。

String我怀疑您想从 URL中获取一个,然后将其传递给JSONObject(String),此时事情应该开始正常工作。

于 2013-02-22T01:12:17.577 回答
0

试试这个..

GraphObject responseGraphObject = response.getGraphObject();
JSONObject json = responseGraphObject.getInnerJSONObject();

                      JSONObject sys  = json.getJSONObject("data");
          Log.e("urlimage json",  sys.getString("url"));
于 2015-01-02T19:36:08.937 回答