gpt4 book ai didi

json - 无法将数据转换为 NSDictionary

转载 作者:行者123 更新时间:2023-11-28 14:32:28 26 4
gpt4 key购买 nike

我正在尝试将数据从 URLSession 转换为 NSDictionary,但在将数据转换为字典时失败。

以下:

let json = try? JSONSerialization.jsonObject(with: data!, options: [])
print(json ?? "NotWorking")

输出

(
{
babyId = 1;
id = 17;
timestamp = "2018-06-30 09:23:27";
}
)

但是当我尝试将其转换为字典时,它会输出 nil。

let json = try? JSONSerialization.jsonObject(with: data!, options: []) as? NSDictionary

网页输出

[{"id":"17","babyId":"1","timestamp":"2018-06-30 09:23:27"}]

哪里出错了?

最佳答案

[ ] 表示 JSON 中的数组。 { } 表示字典。你有一个字典数组。请注意,当您在 Swift 中打印数组时,您将看到 ( )

如果没有非常清楚的理解和具体原因,请不要在 Swift 中使用 NSArrayNSDictionary。使用正确类型的 Swift 数组和字典。

您的代码应该是:

do {
if let results = try JSONSerialization.jsonObject(with: data!) as? [[String:Any]] {
// results is now an array of dictionary, access what you need
} else {
print("JSON was not the expected array of dictonary")
}
} catch {
print("Can't process JSON: \(error)")
}

而且你也不应该使用 data!。在这上面的某个地方,你应该有一个 if let data = data {

关于json - 无法将数据转换为 NSDictionary,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51156213/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com