【问题标题】:Parse JSON with Swift JSON使用 Swift JSON 解析 JSON
【发布时间】:2017-01-17 11:03:55
【问题描述】:

如何使用 Swift JSON 获取值单选名称

我是这样写的

let response = JSON["topradio"]["Data"]

在此之前,我为值创建了模型,但无法绘制像 radio_name 这样的值

  {
      "topradio": {
        "result": "success",
        "Data": [
          [
            {
              "radio_name": "Kantipur",
              "rimage": "radio/1422960479145155755920731096211441695162.jpeg",
              "status": "1",
              "user_faverate": "false",
              "popular_radio": "0",
              "radio_id": "4"
            }
          ]
[
            {
              "radio_name": "Kantipur",
              "rimage": "radio/1422960479145155755920731096211441695162.jpeg",
              "status": "1",
              "user_faverate": "false",
              "popular_radio": "0",
              "radio_id": "4"
            }
          ]
    ]
    }

提前致谢

【问题讨论】:

  • 试试let name = JSON["topradio"]["Data"][0][0]["radio_name"]
  • 提示:Data 是一个数组,它本身包含一个数组。您需要获取Data 数组的第一个元素,然后是该数组的第一个元素,或者(很可能)遍历可能包含多个对象的数组。
  • @jcaron 如果假设我有这样的响应如何解析
  • @IOS_PROGRAMMER NIrav D 为您提供一个索引的正确答案,但请尝试动态let name = JSON["topradio"]["Data"][0][indexValue]["radio_name"]
  • @MuseerAnsari 进入一个 for 循环每个对象我怎么写 let name = JSON["topradio"]["Data"][0][indexValue] this

标签: ios objective-c swift swifty-json


【解决方案1】:

您可以通过这种方式遍历嵌套的 data 数组。

let dataArray = JSON["topradio"]["Data"].array
for item in dataArray {
    let itemArray = item.array
    for subItem in itemArray {
        if let name = subItem["radio_name"].string {
            print(name)
        }
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-22
    相关资源
    最近更新 更多