0

次のような JSON ファイルからデータを取得しようとしています: http://api.worldbank.org/countries/ir?format=json

このファイルを JSON エディターで見ると (このように)、配列と配列内のオブジェクトがあることがわかります。最初のレベルにしかアクセスできません。しかし、より深いレベルにアクセスする方法。ここで私がこれまでに行ったこと:

            JSONArray array = json.getJSONArray("data");
            JSONObject c = array.getJSONObject(0);

            JSONArray array2 = array.getJSONArray(1);
            JSONObject c2 = array2.getJSONObject(0);



            //Storing JSON item in a Variable
            String name = c2.getString(NAME);
            String capitalCity = c2.getString(CAPITALCITY);

したがって、このコード行によって、国名と首都を取得できます。

しかし、同じ配列にはregionと呼ばれる別のオブジェクトがあり、これにはidvalueという 2 つの文字列があります。領域内にアクセスしてを取得するにはどうすればよいですか?

4

2 に答える 2

1

フィールドregionJSONObject再びです:

JSONObject region = c2.getJSONObject("region");
String regionId = region.getString("id");
String regionValue = region.getString("value");
于 2013-11-23T22:35:05.093 に答える
1

これを試すことができます:

JSONObject regionJsObj = c2.getJSONObject("region");
String regionId = regionJsObj.getString("id");
String regionValue = regionJsObj.getString("value");

「adminregion」または「incomeLevel」または「lendingType」などとしてjsonObject内にあるすべてのjsonObjectsに対して同じことができます...

于 2013-11-23T22:35:30.687 に答える