在转换 JSON 数组时展开可选值时意外发现 nil
unexpectedly found nil while unwrapping an Optional value while converting JSON Array
当我尝试将 Json 字符串转换为字典时,出现致命错误:在展开可选值时意外发现 nil。
self.res = Jsn.convertStringToDictionary(self.sub)!
sub = [{"CityId":6,"CityName":"Ankara"},{"CityId":34,"CityName":"伊斯坦布尔"}]
函数是:
func convertStringToDictionary(text: String) -> [String:AnyObject]? {
if let data = text.dataUsingEncoding(NSUTF8StringEncoding) {
do {
return try NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions()) as? [String:AnyObject]
} catch {
print(error)
}
}
return nil
}
你能帮我解决这个问题吗?先感谢您!
您应该将其转换为 [[String:AnyObject]]
而不是 [String:AnyObject]
,因为它是 字典数组。
尝试使用
return try NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions()) as? [[String:AnyObject]]
当我尝试将 Json 字符串转换为字典时,出现致命错误:在展开可选值时意外发现 nil。
self.res = Jsn.convertStringToDictionary(self.sub)!
sub = [{"CityId":6,"CityName":"Ankara"},{"CityId":34,"CityName":"伊斯坦布尔"}]
函数是:
func convertStringToDictionary(text: String) -> [String:AnyObject]? {
if let data = text.dataUsingEncoding(NSUTF8StringEncoding) {
do {
return try NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions()) as? [String:AnyObject]
} catch {
print(error)
}
}
return nil
}
你能帮我解决这个问题吗?先感谢您!
您应该将其转换为 [[String:AnyObject]]
而不是 [String:AnyObject]
,因为它是 字典数组。
尝试使用
return try NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions()) as? [[String:AnyObject]]