作为一个 Swift 新手,我很困惑如何解析从 API 获取的一些 JSON 数据。我可以使用 alamofire 请求从 api 获取 JSON 数据。在这一点上,我想我有一个 NSDictionary 对象,JSON as print(JSON) 日志来控制大量的 JSON。
if let result = response.result.value {
let JSON = result as! NSDictionary
print("this is what JSON is")
print(JSON)
我的问题是,首先,JSON 实际上是一个 NSDictionary。其次,我将如何访问 JSON 中的值。我需要先将其转换为数据对象吗?或者我如何获取嵌套数据。
例如,假设 JSON 如下所示:
{
"contact": {
"first": "Bob",
"second":"Jones"
}
}
我在 SO 上看到这段代码:
let data = JSON(data: JSON)
print("data\(data["contact"]["first"])")
但是它会抛出一个错误。我已经安装了 swiftyJSON 但很高兴有或没有它的解决方案。
提前感谢您的任何建议
最佳答案
你能试试吗
if let result = response.result.value as? [String:Any] {
if let contact = result["contact"] as? [String:Any] {
if let first = contact["first"] as? String {
print(first)
}
}
}
还有这个
let data = JSON(data: JSON)
给出错误,因为参数应该是 Data
类型而不是 Dictionary
我更愿意从 Alamofire 请求返回数据并使用 Decodable
解析它并转换为所需的模型
关于ios - 使用 Swift、AlamoFire 和 SwiftyJSON 解析 JSON 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50650451/