快速 JSON 错误 无法将类型 '__NSArrayM' (0x10b2cba88) 的值强制转换为'NSDictionary' (0x10b2cd1a8)



我收到此错误,但我不明白为什么,因为我没有使用 NSArrays 这是我的代码

let todo = try JSONSerialization.jsonObject(with: responseData, options: JSONSerialization.ReadingOptions.mutableContainers)
as! [String: Any]

打印(待办事项)

我使用过其他 API,它们工作正常,我认为问题不在于我的 API,因为它在 C# 上可以正常工作 任何人都可以帮忙吗

显然responseData包含一个数组而不是字典,请尝试以下操作:

let todo = try JSONSerialization.jsonObject(with: responseData) as! [[String: Any]]

您可以将 API 调用的 JSON 结果转换为[String: Any]结果的根对象是否为 JSON 对象,例如:

{
"name":"John",
"age":30,
"cars":[ "Ford", "BMW", "Fiat" ]
}

在这种特殊情况下,API 返回一个对象数组,而不是一个对象,如下所示:

[
{
"name":"John",
"age":30,
"cars":[ "Ford", "BMW", "Fiat" ]
},
{
"name":"Milan",
"age":29,
"cars":[ "Mercedes" ]
}
]

最新更新