2017-05-08 12 views
-2

json配列からJSONオブジェクトを取得する方法を知っていますか?json配列からオブジェクトを取得する

JSON:

[ 
{ 
"id": 1, 
"region": "Ilocos Region (Region I)", 
"province": "Ilocos Norte", 
"city": "Laoag City" 
}, 
{ 
"id": 2, 
"region": "Ilocos Region (Region I)", 
"province": "Ilocos Norte", 
"city": "Batac City" 
}, 
{ 
"id": 3, 
"region": "Ilocos Region (Region I)", 
"province": "Ilocos Sur", 
"city": "Vigan City" 
} 
] 

私は、地域、州や都市を取得することができますが、私はIDを取得することはできません。ここで

は、私が使用しているコードです:

try { 
        br = new BufferedReader(new FileReader(path+"json/src_city.json")); 
        try { 
         while ((inputline = br.readLine()) != null) { 

           JSONArray a = (JSONArray) parser.parse(inputline); 
           for (Object o : a) { 
            JSONObject sample = (JSONObject) o;   

            id = (int) sample.get("id"); 
}} 
+0

私の質問に対する回答が見つかりました。 http://stackoverflow.com/a/31194430/1840521 – LyodMichael

答えて

0

あなたが地域を得ることができる場合、idはintですが、あなたがこのような方法によって得ることができない理由かもしれない:ID =( int)sample.get( "id");

+0

私はintを使用しているので、私は文字列の値を使用して領域を取得することができますまた、私もidを取得することはできません私は文字列を使用します。 – LyodMichael

+0

ようこそ。コードの書式設定を使用すると(回答ウィンドウの「ヘルプ」を参照)、回答をより読みやすくします。 – Gary99

0

私は引用符で番号を取り巻くしようと、ジェイソンは、文字列値のみを使用して思う:

{ 
"id": "1", 
"region": "Ilocos Region (Region I)", 
"province": "Ilocos Norte", 
"city": "Laoag City" 
}, 

その後、あなたは私たちができるオブジェクトのうち、

id = Integer.valueOf(sample.get("id")); 
0

それを取得した後に戻って整数にそれを解析することができます次のようにjson配列から各jsonnodeを取得します。また、jsonnodeは整数も解析するメソッドを提供します。

if (a.isArray()) { 
    for (final JsonNode objNode : a) { 
     id = objNode.get("id").asInt(); 
    } 
} 
関連する問題