使用 SwiftyJSON 遍历数组字典字典

Posted

技术标签:

【中文标题】使用 SwiftyJSON 遍历数组字典字典【英文标题】:Looping through array-dictionary-dictionary using SwiftyJSON 【发布时间】:2016-12-22 15:04:00 【问题描述】:

我正在尝试使用 SwiftyJSON 循环遍历这个 JSON 样本以获取 agenametype。我成功获得了nameage,但type 对我来说很难。有人可以告诉我怎么做吗?

"both": [

  "id": 130,
  "name": "TMT",
  "age": "2006",
  "created_at": "2016-12-19 21:37:06",
  "updated_at": "2016-12-19 21:37:06",
  "pic": "1482183426.png",
  "pivot": 
    "user_id": 4,
    "car_id": 130,
    "type": "rent"
  
,

  "id": 113,
  "name": "TMT ",
  "age": 2016,
  "created_at": "2016-12-18 14:46:18",
  "updated_at": "2016-12-18 14:47:41",
  "pic": "",
  "pivot": 
    "user_id": 4,
    "car_id": 113,
    "type": "rent"
  

]

工作

    let json = JSON(value)
for (key, subJson) in json 

    let cars = subJson["both"]


    for (key, subJson) in cars 

        print(subJson["age"])


【问题讨论】:

与获取“name”作为 String 的方式相同,您必须将“pivot”作为 [String: Any] 字典然后你可以从字典中获取值。 这就是我获得age 的方式。我应该再循环一次吗?我认为 swifty-json 有一个更简单的方法let json = JSON(value) for (key, subJson) in json let cars = subJson["both"] for (key, subJson) in cars print(subJson["age"]) 请看你上面的评论 【参考方案1】:

您只需访问pivot 字典并从那里读取type 键。

let json = JSON(value)
for (key, subJson) in json 
    let cars = subJson["both"]
    for (key, subJson) in cars 
        let age = subJson["age"]
        // Access pivot dictionary
        let pivot = subJson["pivot"]
        // Get type from pivot dictionary
        let type = pivot["type"]
    

【讨论】:

以上是关于使用 SwiftyJSON 遍历数组字典字典的主要内容,如果未能解决你的问题,请参考以下文章

遍历字典数组以查找值

使用 swift 2.1 遍历一个 JSON 命名的字典数组

Swift - 使用 swiftyJSON 根据字典中的值查找字典数组的索引

SwiftyJSON 打印字典数组中的所有值

无法遍历字典数组中的数组

SwiftyJson 从字典中的数组中获取值