【问题标题】:Looping through array-dictionary-dictionary using SwiftyJSON使用 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"]) }
  • 请看你上面的评论

标签: json swift dictionary swifty-json


【解决方案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"]
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-06-30
    • 1970-01-01
    • 1970-01-01
    • 2019-09-24
    • 1970-01-01
    相关资源
    最近更新 更多