使用 Swift JSON 解析 JSON

Posted

技术标签:

【中文标题】使用 Swift JSON 解析 JSON【英文标题】:Parse JSON with Swift 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 【参考方案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)
        
    

【讨论】:

以上是关于使用 Swift JSON 解析 JSON的主要内容,如果未能解决你的问题,请参考以下文章

使用未解析的标识符 'json' (Swift 3) (Alamofire)

JSON数据未在swift3中使用Alamofire进行解析

使用 Swift JSON 解析 JSON

使用 EasyMapping (Swift) 解析 Json 数组

使用 alamofire 在 Swift 上解析 Json

使用 Swift 解析 JSON