快速将NSArray转换为NSDictionary

时间:2019-08-09 11:13:05

标签: ios swift

我的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)。

1 个答案:

答案 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 时,请使用ArrayDictionary而不是NSArrayNSDictionary。那更多的是 Objective-C 事情。