Ios Swift JSON错误无法将类型为“\uu NSArrayM”(0x10b2cba88)的值强制转换为“NSDictionary”(0x10b2cd1a8)
我得到这个错误,但我不明白为什么,因为我没有使用nsarray 这是我的密码Ios Swift JSON错误无法将类型为“\uu NSArrayM”(0x10b2cba88)的值强制转换为“NSDictionary”(0x10b2cd1a8),ios,json,swift,Ios,Json,Swift,我得到这个错误,但我不明白为什么,因为我没有使用nsarray 这是我的密码 let todo = try JSONSerialization.jsonObject(with: responseData, options: JSONSerialization.ReadingOptions.mutableContainers) as! [String: Any] 印刷体 我使用过其他API,它们工作得很好,我认为问题不在于我的API,因为它在C上工作正常 任何人都
let todo = try JSONSerialization.jsonObject(with: responseData, options: JSONSerialization.ReadingOptions.mutableContainers)
as! [String: Any]
印刷体
我使用过其他API,它们工作得很好,我认为问题不在于我的API,因为它在C上工作正常
任何人都可以帮忙吗?显然,响应数据包含数组而不是字典,请尝试以下操作:
let todo = try JSONSerialization.jsonObject(with: responseData) as! [[String: Any]]
如果结果的根对象是JSON对象,则可以将API调用的JSON结果强制转换为[String:Any],例如:
{
"name":"John",
"age":30,
"cars":[ "Ford", "BMW", "Fiat" ]
}
在这种情况下,API返回一个对象数组,而不是一个对象,如下所示:
[
{
"name":"John",
"age":30,
"cars":[ "Ford", "BMW", "Fiat" ]
},
{
"name":"Milan",
"age":29,
"cars":[ "Mercedes" ]
}
]
通过[Any]更改[String:Any],谢谢您的帮助。但是为什么它能与我的其他API一起工作呢?仅仅是因为其他API返回了不同的结果。我没有考虑数组和对象之间的差异。现在我明白了,谢谢