2016-08-16 17 views
2

ローカルのjsonファイルを解析しようとしています。これまでのコードではすべてのjsonを読むことができますが、個々のキーを返すことはできません。Androidスタジオ - JSONキーの解析

JSONファイル(level.json)私がやろうとしています何

{ 
    "level1": { 
     "artist": "aaaa", 
     "title":"new title", 
      "year":"1990" 
    }, 
    "level2": { 
     "artist": "bbb", 
     "title":"new title2", 
      "year":"1992" 
    } 

} 

は、各レベルのキーを取得することです。たとえば、「レベル1」から「アーティスト」を取得したいとします。

public String loadJSONFromAsset() { 
     String json = null; 
     try { 

      InputStream is = getAssets().open("level.json"); 

      int size = is.available(); 

      byte[] buffer = new byte[size]; 

      is.read(buffer); 

      is.close(); 

      json = new String(buffer, "UTF-8"); 


     } catch (IOException ex) { 
      ex.printStackTrace(); 
      return null; 
     } 
     return json; 

    } 

私はすべてのjsonを取得します。

JSONObject object = new JSONObject(); 
text.setText(object.getString("level1")); 

どのように各jsonオブジェクトに応じてキーを取得できますか?

JSONObject object = new JSONObject(your_json_string); 
JSONObject level1 = object.getJSONObject("level1"); 
JSONObject level2 = object.getJSONObject("level2"); 

を、今あなたがそのようなアーティスト、タイトルと年にアクセスすることができます:あなたは、インスタンスのために使用することができます

答えて

3

text.setText(level1.getString("artist")); 
text.setText(level1.getString("title")); 
text.setText(level1.getString("year")); 
+0

はどうもありがとうございましたが....それは非常にgood--作品私はあなたの答えを5分で受け入れます –