【发布时间】:2018-02-08 08:29:16
【问题描述】:
我们在解析 JSON 时遇到了 swift 问题。如果您查看示例图像,您将看到我们的问题。我们从 json 中获取字符串。当我们分配给dictionary2时,我们得到异常:
“无法将 '__NSArrayM' (0x10652de00) 类型的值转换为 'NSDictionary' (0x10652e2d8)。”
我们如何解析这个?我们无法将 swift 更新到最新版本。
let urlJsonToken2 = "https://jsonservices.mywebsite.com/api/en/News"
let myURL2 = NSURL(string: urlJsonToken2)
let request2 = NSMutableURLRequest(url: myURL2 as! URL)
request2.httpMethod = "GET"
request2.addValue("Bearer "+token!, forHTTPHeaderField: "Authorization")
request2.setValue("application/x-www-form-urlencoded", forHTTPHeaderField: "content-type")
request2.setValue("application/json", forHTTPHeaderField: "Accept")
let task2 = URLSession.shared.dataTask(with: request2 as URLRequest) {(data2, response2, error2) -> Void in
if let unwrappedData2 = data2 {
do {
let requestReply = NSString(data: data2!, encoding: String.Encoding.ascii.rawValue)
let tokenDictionary2:NSDictionary = try JSONSerialization.jsonObject(with: unwrappedData2, options: JSONSerialization.ReadingOptions.mutableContainers) as! NSDictionary
let Name = tokenDictionary2["Name"] as? String
}
catch {}
}
}
task2.resume()
【问题讨论】:
-
用图片显示一小段代码有什么意义?每个人都应该给你一个 F。
-
不要发布代码图片。错误告诉你你做错了什么。您正在将数组转换为字典。
-
我们也添加了我们的代码。 @Scriptable,我们如何解析数组?你能发布一个示例代码吗?