我的JSON字符串结果如下
[ {},{},{}]
我尝试了以下代码将其转换为NSDictionary。产生以下错误
if let data = data {
do {
let json = try JSONSerialization.jsonObject(with: data, options: JSONSerialization.ReadingOptions.mutableContainers) as! NSDictionary
print(json)
}catch {
print("Erorr while printing data")
}
}
无法将类型'__NSArrayM'(0x11038e2b8)的值强制转换为'NSDictionary'(0x11038fa78)。 2019-08-09 16:14:43.360585 + 0530协商[2699:64715]无法将类型'__NSArrayM'(0x11038e2b8)的值强制转换为'NSDictionary'(0x11038fa78)。
答案 0 :(得分:-1)
该 JSON 是array
中的dictionaries
。因此,将结果转换为[[String:Any]]
,而不是Dictionary
。
if let data = data {
do {
if let json = try JSONSerialization.jsonObject(with: data) as? [[String:Any]] {
print(json)
}
} catch {
print(error)
}
}
注意:在使用 Swift 时,请使用Array
和Dictionary
而不是NSArray
和NSDictionary
。那更多的是 Objective-C 事情。