首页 > 解决方案 > 如何在 swift 中使用字典解析 json?

问题描述

我有当前的 JSON

"updateTime": "2021-02-12T16:41:21.413Z",
"dueDate": {
  "year": 2021,
  "month": 2,
  "day": 17
},
"dueTime": {
  "hours": 4,
  "minutes": 59
},
...

如何使用 Swift 检索到期日期和到期时间的值(包括字典中的所有数据)?

提前致谢

标签: swiftxcode

解决方案


您发布的内容不是很有效的 JSON,但如果是这样的话:

let json = """
{
    "updateTime": "2021-02-12T16:41:21.413Z",
    "dueDate": {
        "year": 2021,
        "month": 2,
        "day": 17
    },
    "dueTime": {
        "hours": 4,
        "minutes": 59
    }
}
"""

那么你可以转换为Data

let data = json.data(using: .utf8)

然后使用解析JSONSerialization

let dict = try JSONSerialization.jsonObject(with: data!, options: []) as? [String: Any?]

然后其中的每个对象都变成另一个 JSON。例如:

let dueDate = dict?["dueDate"] as? [String: Any]
print(dueDate?["year"])

推荐阅读