ios - 无法将类型 '__NSArrayM' 的值转换为 'NSDictionary'

标签 ios json swift nsdictionary

我有一个 json。我正在尝试用该代码解析它。但是它说

Could not cast value of type '__NSArrayM' to 'NSDictionary'

do {
    let dataDictionary: NSDictionary = try NSJSONSerialization.JSONObjectWithData(responseObject as! NSData, options: NSJSONReadingOptions.MutableContainers) as! NSDictionary // <------ Error

    if let customerArray = dataDictionary.valueForKey("cart") as? NSArray {
        for js in customerArray {
            let nameArray = js.valueForKey("name")
            let idArray = js.valueForKey("id")
        }
    }
}

谢谢你的帮助

最佳答案

数据中的根对象是数组,而不是对象(字典)。

您需要根据反序列化对象动态决定如何处理您的 JSON。

关于ios - 无法将类型 '__NSArrayM' 的值转换为 'NSDictionary',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33573508/

相关文章:

ios - 当用户将手机切换为静音时,如何防止我的iOS VoIP应用播放音频?

json - jQuery.get() 如何将我的输出自动识别为 JSON?

ios - Swift:如何以编程方式禁用 MapKit 注释的信息按钮

swift - 加载更改后在 Swift 中更改 UILabel

ios - 即使应用程序终止,在 iOS 中实现定期位置更新

ios - 监控 CBPeripheral 状态变化

iOS 键盘颜色更改 - keyboardAppearance 深色不粘

php - LOAD DATA INFILE 不适用于字段数据中包含编码 JSON 值的 CSV

json - 如何使用 perl 读取 https JSON 流?

ios - 如何从 Swift 中调用 Objective-C 的 NSArray 类方法?