2017-04-26 17 views
1

色情報を含むAPIからJSON応答を取得しています。JSONオブジェクト内のJSONオブジェクト内のJSON ARRAY値が見つからない - ANDROID

これは応答です:

enter image description here

私はインフォJSONオブジェクト内background_colors配列からhtml_code値にアクセスできるようにしたいです。

はまず、単純にこのコードでこれをやって試してみました:予想通り

result = stack.getBody().getObject().toString(2); 
      JSONObject parentObject = new JSONObject(_result); 
      JSONArray jr = parentObject.getJSONArray("results"); 
      JSONObject jb1 = jr.getJSONObject(0); 
      System.out.print(jb1); 

これは、情報オブジェクトを、私を出力します。私は

JSONObject parentObject = new JSONObject(_result); 
      JSONArray jr = parentObject.getJSONArray("results"); 
      JSONObject jb1 = jr.getJSONObject(0); 
      System.out.print(jb1); 
      JSONArray jsonArray = 
      jb1.getJSONArray("background_colors"); 
      System.out.print(jsonArray); 

、試してみて、これを使用してJSONアレイ "background_colors" をアクセスする場合

しかし、私はこのエラーを取得していない: "background_colors" に値を。

このエラーは、background_colors配列がJSONObjectに存在しないことを意味しますが、どのように、なぜこのようになるのでしょうか?

ご協力いただければ幸いです。

+1

'background_colors'は' info'目的ではない配列からルートオブジェクトのプロパティです:

はこれを試してみてください。 – Titus

答えて

1

background_colorsは、infoオブジェクトのプロパティで、配列のルートオブジェクトではありません。

JSONObject parentObject = new JSONObject(_result); 
JSONArray jr = parentObject.getJSONArray("results"); 
JSONObject jb1 = jr.getJSONObject(0).getJSONObject("info"); 
JSONArray jsonArray = jb1.getJSONArray("background_colors"); 
System.out.print(jsonArray); 
0
JSONObject jb1 = jr.getJSONObject(0).getJSONObject("info"); 
JSONArray jsonArray = jb1.getJSONArray("background_colors"); 
関連する問題