0

JSONObjects を持つ 2 つの JSONArrays を持つ JSONObject があります。JSONObject にある JSONArray の JSONObjects にどのようにアクセスすればよいのでしょうか? (JSON の開始!)。

明確にする(これを書いても混乱します)

最初に JSONObject を取得します。このオブジェクトには 2 つの JSONArray が含まれています。これらの 2 つの配列には、X 量と Y 量の JSONObject があります。

「最も深い」JSONObjects に到達するにはどうすればよいですか? 最初の JSONObject を「展開」して最初の 2 つの JSONArray を取得するにはどうすればよいですか?

共有するヒントやコツはありますか?

4

3 に答える 3

2

ユオはこんなものを使えるnew JSONObject(json).getJSONArray(arrayname1).getJSONObject(positionx)。JSON 応答文字列は次のとおりです
。最初の配列の名前です。X JSONObjectsからの任意の位置です。 同様に、他のものにも使用できます。jsonarrayname1poitionx
new JSONObject(json).getJSONArray(arrayname2).getJSONObject(positiony)

于 2012-05-04T09:53:02.117 に答える
0

共有するヒントやコツはありますか?

はい、 Google のGSONなどの JSON ライブラリを使用してください。

使い方の参考はこちら。http://java.sg/parsing-a-json-string-into-an-object-with-gson-easily/

幸運を!

于 2012-05-04T09:49:20.967 に答える
0

これが例です。1 と 2 の 2 つの配列を持つ JSONObject "Space" があるとします。

                 HttpClient httpclient = new DefaultHttpClient();
            HttpPost httppost = new HttpPost("url");
                 HttpResponse  response = httpclient.execute(httppost);
                 HttpEntity entity = response.getEntity();
                 InputStream instream = entity.getContent();
                 String result= convertStreamToString(instream);
                 JSONObject json=new JSONObject(result);
                 JSONObject resp= (JSONObject) json.get("response");                                  
                 JSONObject Space=resp.getJSONObject("Space");
                 JSONArray One=Space.getJSONArray("one");
                 int Length=One.length();
                 for(int i=0;i<length;i++)
                 {
                  JSONObject item = (JSONObject) items.get(j);
                   String x=item.getString("x);
                   String y=item.getString("y");
                   System.out.println("x = "+x+" , y = "+y);
                 }

同じ方法で、2 番目の配列を操作できます。

于 2012-09-19T13:41:06.810 に答える