Swift 3.0:数据到JSON [String:Any]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Swift 3.0:数据到JSON [String:Any]相关的知识,希望对你有一定的参考价值。

晚上,我正在尝试创建一个APIClient,但我遇到了一个警告问题:APIClient.swift:53:81: Cast from 'Data' to unrelated type '[String : Any]' always fails

在这段代码中,我试图将数据转换为JSON作为字典[String : Any]

我想编译器无法知道这个演员是否可能,所以它会抛出错误,但我很确定它会起作用。那么我该如何避免这种警告或者如何编写更安全的代码呢?

case 200:
         do {
            let json = try JSONSerialization.data(withJSONObject: data!, options: []) as? [String : Any]
            completion(json, HTTPResponse, nil)
         } catch let error {
             completion(nil, HTTPResponse, error)
         }
答案

正确的方法是:

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

感谢Eric Aya

以上是关于Swift 3.0:数据到JSON [String:Any]的主要内容,如果未能解决你的问题,请参考以下文章

使用 Alamofire 3.0+ 在 swift 2.2 中使用 JSON 对象发送 POST 请求

如何在 Swift 3.0 中选择 JSON 输出到 TableViewCell 中?

Swift 2.0 + Alamofire 3.0 - 缓慢加载 JSON

Swift 3.0 中的 JSON 解析失败

如何在 Swift 3.0 中的控制器之间传递 JSON 数据?

JSON图像解析IOS Swift 3.0