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を受け入れるコンストラクターがありません。あります。に aを渡すと、後者と一致します。これは、(すぐに) 希望どおりに動作するようには見えません。String[]responseJSONObject(String)JSONObject(Object)String[]JSONObject

StringURL から単一のものを取得したいと考えており、それを に渡します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 に答える