2011-10-20 2 views
2

Я работаю над портированием приложения iPhone, которое в значительной степени зависит от JSON для Android. Один из ответов, который нужно разобрать, используется для построения главного экрана. Ответ JSON для этого содержит 3 разных объекта, а именно: Icons, Header и Player. Все они содержатся в объекте Home. Иконки и проигрыватель содержат Array элементов, Заголовок - это всего лишь один элемент.Android GSON: Разбор нескольких разных объектов из того же ответа

Теперь я все еще новичок, когда дело доходит до JSON, и я не совсем уверен, как я должен разобрать этот ответ. Поэтому я хотел бы знать, есть ли у меня правильная идея, прежде чем заниматься проблемами.

Моя идея - создать 4 разных класса, один для дома, значки, заголовок и проигрыватель. Home будет содержать массив иконок и игрока, и объект заголовка. Но я не уверен, что это правильный способ сделать это.

Ответ 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

Да вы правы нужно создать четыре класса и должны инициализировать значения внутри этого имени класса ..

Подтвердить JSon использованием JSONLint:

Тогда попробуйте это образец Parsing JSON using GSON и One More