2016-12-01 6 views
0

の解析私は、単純なJSON文字列アンドロイド - JSON文字列に

try { 
     String candyJson = "{\"candies\":[ {\"name\":\"Jelly Beans\", \"count\":10}, {\"name\":\"Butterscotch\", \"count\":6}]}"; 
     JSONObject candiesJSONobject = new JSONObject(candyJson); 
     JSONArray candiesJSONarray = candiesJSONobject.getJSONArray("candies"); 
     Log.v("JSONObject", candiesJSONarray.getJSONObject(0).getString("name")); 
    } catch (JSONException e){ 
     Log.e("MYAPP", e.toString()); 
    } 

を解析しようとしているコードは、任意の例外をキャッチすることなく、この状態では正常に動作し、AndroidのログにJSONObject名を出力します。しかし私は、次の例に示すように、例外をキャッチしようとしない

 String candyJson = "{\"candies\":[ {\"name\":\"Jelly Beans\", \"count\":10}, {\"name\":\"Butterscotch\", \"count\":6}]}"; 
     JSONObject candiesJSONobject = new JSONObject(candyJson); 
     JSONArray candiesJSONarray = candiesJSONobject.getJSONArray("candies"); 
     Log.v("JSONObject", candiesJSONarray.getJSONObject(0).getString("name")); 

のAndroid Studioは、すべてのJSONの方法で私に未処理の例外エラーが発生します。 JSONを解析するときにJSONExceptionをキャッチする必要がありますか、何か間違っていますか?

+1

最初に「例外処理」を読みます。 –

+0

あなたのjsonはうまく構成されていません。無効なJSONです。 http://jsonviewer.stack.hu/ –

+0

JSONストリングが問題なく動作しています。引用符をエスケープするためにバックスラッシュを使用しています。 – Asym

答えて