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

时间:2016-09-10 15:20:31

标签: json swift networking nsdata

晚上,我正在尝试创建一个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)
         }

1 个答案:

答案 0 :(得分:25)

正确的方法是:

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

感谢Eric Aya