2011-10-20 5 views
2

JSON을 Android에 많이 의존하는 iPhone 앱을 이식하는 중입니다. 구문 분석해야하는 응답 중 하나가 기본 화면을 작성하는 데 사용됩니다. JSON 응답에는 Icons, Header 및 Player의 3 가지 객체가 포함되어 있습니다. 이것들은 모두 객체 Home에 포함되어 있습니다. 아이콘과 플레이어 모두에 항목 배열이 포함되어 있으므로 머리글은 단일 항목입니다.Android GSON : 동일한 응답에서 여러 객체를 구문 분석합니다.

이제는 JSON과 관련하여 초보자이지만이 응답을 어떻게 구문 분석해야하는지 잘 모르겠습니다. 그러므로 나는 스스로를 문제로 만들기 전에 올바른 생각을 가지고 있는지 알고 싶다.

제 아이디어는 홈, 아이콘, 헤더 및 플레이어에 대해 4 가지 클래스를 만드는 것입니다. 홈에는 Icons 및 Player의 배열과 Header의 개체가 포함됩니다. 그러나 이것이 올바른 방법인지 확실하지 않습니다.

질문에 JSON 응답은 다음과 같습니다 (때문에 응답의 크기에 일부 개체를 제거)

{ 
    "Home": { 
    "Icon": [ 
     { 
     "ScreenID": 533, 
     "ScreenIndex": 1, 
     "IconName": "mainIcon_news", 
     "Title": "News", 
     "FK_ModuleID": 6, 
     "FormID": 567, 
     "ModName": "News", 
     "MediaType": "", 
     "New_Icon": 0 
     }, 
     { 
     "ScreenID": 528, 
     "ScreenIndex": 2, 
     "IconName": "mainIcon_music", 
     "Title": "Music", 
     "FK_ModuleID": 3, 
     "FormID": 562, 
     "ModName": "Media", 
     "MediaType": "Music", 
     "New_Icon": 0 
     } 
    ], 
    "Header": [ 
     { 
     "ModHomeRotationID": 183, 
     "image_url": "*****/Media/68/1216_5.jpg", 
     "flg_RotationEnabled": false, 
     "flg_RotateOnlyOnReturn": true, 
     "flg_RotationRandomize": false, 
     "flg_RotationDelayMS": 5000, 
     "flg_RotationDelayFadeMS": 3000, 
     "HomeRotationIndex": null 
     } 
    ], 
    "Player": [ 
     { 
     "MediaID": 1219, 
     "Track_Name": "***", 
     "song_url": "*****/Media/68/1219.mp3", 
     "song_remote_url": null, 
     "FileSize": 4700502 
     }, 
     { 
     "MediaID": 1220, 
     "Track_Name": "**** ", 
     "song_url": "*****/Media/68/1220.mp3", 
     "song_remote_url": null, 
     "FileSize": 4350222 
     } 
    ] 
    } 
} 

내가 올바른 방향에있어하고, 그렇지 않은 경우 누군가가 나에게 수, 무엇을 나는 대신해야 할까? 필자는 현재 GSON을 사용하여 JSON 응답을 구문 분석하고 있습니다. 사전에

감사

+0

내 게시물을 확인하셨습니까? 질문이 있으십니까? – Venky

+0

미안하지만 나는 아직 대답하지 않았다, 나는 점심 먹으러 나갔다. 나는 그것들을 확인했다. 나는 여기서 그것을 해결할 수있을 것이라고 생각한다. 두 번째 예제는 응답 내용을 통해 내 문제와 거의 동일하므로이를 사용하여 내 문제를 해결할 수있을 것이라고 확신합니다. 감사! –

답변

1

예 바로 당신 JSONLint를 사용하여 JSON을 네 개의 클래스를 만들고 해당 클래스 이름 내부의 값을 초기화 할 필요가 ...

의 유효성을 검사 할 필요가있다 :

그런 다음이 시도 샘플 Parsing JSON using GSONOne More

관련 문제