2016-08-16 9 views
2

로컬 json 파일을 구문 분석하려고합니다. 지금까지 가지고있는 코드로 모든 json을 읽을 수 있지만 각 개별 키를 반환 할 수는 없습니다.Android Studio - 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 분 안에 답을 받아 들일거야. –