2015-11-06 80 views
0

我有一个json.I我试图解析与code.But其说无法投型“__NSArrayM”的价值“的NSDictionary”

无法投型“__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") 
     } 
    } 
} 

谢谢您的帮助

+0

看起来像你的响应对象包含一个数组,而不是一个字典。你可以展示json吗? –

回答

1

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

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

1

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

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

相关问题