ios - 使用 Swift、AlamoFire 和 SwiftyJSON 解析 JSON 数据

标签 ios json swift swifty-json

作为一个 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/

相关文章:

ios - Swift CGContext 切面匹配

ios - 在 iOS 中创建 JSON 格式

javascript - 将 XML 数据转换为 Json 格式 AngularJS

ios - Swift:从后台返回后使用音量按钮不起作用

ios - 如何快速绘制一个简单的圆角矩形(圆角)

objective-c - 我可以使用多张图像而不是一张来制作动画吗?

ios - 当 Sprite 离开屏幕时移除 Sprite

ios - Xcode 7.3 - iOS 9.1 - 越狱 - 请检查您的设置并重试。 (0xE8000022)

javascript - 将网页数据保存到本地文件: How can get data from a webpage into JSON file and be able to save that to local machine

ios - 如何像Instagram那样在矩形中创建透明圆圈?