无法将类型“__NSArrayM”的值转换为 'NSDictionary'

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

我有一个 json.I 我正在尝试用 code.But 来解析它

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。

它告诉您的是,您正在解析的 JSON 对象不是字典,而是数组。因此,如果您更改它以便将其值视为数组而不是字典,您将能够对其进行迭代。

您需要重新评估您的 JSON 以确保它的结构符合您的想法。如果您发布了您尝试解析的 JSON 以便我们也可以看到它的结构,这也会很有用。