无法将types“__NSArrayM”的值转换为“NSDictionary”

我有一个JSON,我试图用这个代码parsing,但它的说

无法将types“__NSArrayM”的值转换为“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") } } } 

感谢您的帮助

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

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

它告诉你的是,你正在parsing的JSON对象不是一个字典,而是一个数组。 所以,如果你改变它,以便将它的值作为一个数组而不是一个字典来对待,那么你就可以迭代它。

你需要重新评估你的JSON,以确保它的结构是你认为的方式。 如果您发布了您正在parsing的JSON,那么也可以看到它的结构。