【问题标题】:Android GSON: Parsing several different objects from the same responseAndroid GSON:从同一个响应中解析几个不同的对象
【发布时间】:2011-10-20 10:56:37
【问题描述】:

我正在将一个严重依赖 JSON 的 iPhone 应用程序移植到 Android 上。 必须解析的响应之一用于构建主屏幕。对此的 JSON 响应包含 3 个不同的对象,即图标、标题和播放器。这些都包含在对象 Home 中。 图标和播放器都包含一个项目数组,标题只是一个项目。

现在我还是个 JSON 初学者,我不太确定应该如何解析这个响应。因此,我想知道在自己解决问题之前我是否有正确的想法。

我的想法是创建 4 个不同的类,一个用于 Home、icons、Header 和 Player。 Home 将包含一个 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 响应。

提前致谢

【问题讨论】:

  • 你查看我的帖子了吗?您有任何疑问吗?
  • 对不起,我还没回答,我出去吃午饭了。我已经检查过它们是的,我认为我可以从这里解决它。第二个示例在响应内容方面与我的问题几乎相同,所以我很确定我可以使用它来解决我的问题。谢谢!

标签: android json parsing gson


【解决方案1】:

是的,您是对的,您需要创建四个类并需要初始化该类名称中的值..

使用 JSONLint 验证您的 Json:

然后试试这个示例Parsing JSON using GSONOne More

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-31
    • 2019-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多