Swift 3.0:数据转换为JSON[字符串:任意]
晚上,我正在尝试创建一个APIClient,但我遇到了一个警告问题:Swift 3.0:数据转换为JSON[字符串:任意],json,swift,networking,nsdata,Json,Swift,Networking,Nsdata,晚上,我正在尝试创建一个APIClient,但我遇到了一个警告问题: APIClient.swift:53:81:从“数据”转换为不相关类型“[String:Any]”总是失败 在这段代码中,我试图将数据转换为JSON,作为字典[String:Any] 我猜编译器不知道这个强制转换是否可能,所以它会抛出错误,但我很确定它会工作。那么,如何避免这个警告,或者如何编写更安全的代码呢 case 200: do { let json = try JSONSeri
APIClient.swift:53:81:从“数据”转换为不相关类型“[String:Any]”总是失败
在这段代码中,我试图将数据转换为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)
}
正确的方法是:
do{
让json=try JSONSerialization.jsonObject(使用:data!,选项:[])作为?[String:Any]
}捕获{print(“erromg”)}
多亏了您使用了错误的方法。在尝试之后,如果没有“?”,编译器可能会抛出一个错误,说“从这里抛出的错误没有得到处理”,将这一行添加到
do{}catch{print(“erromg”)}
Thank You@Andrea