gpt4 book ai didi

ios - 无法在 swift 4 中解析 JSON

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

我在 swift 4 中从 JSON 获取值时遇到问题。

{
"meta": {"expiration": 0,"flags": 33456},
"json": "{\"key\":\"string\",\"value\":{\"failed_attempts\":\"1\"}}",
"xattrs": {}
}

我试过的代码

if let resultData = responseBody["json"] as? [String: AnyObject]{

if let val = resultData["value"] as? [String: AnyObject]{

if let attempt = val["failed_attempt"] as? String {
print(attempt)

}
}
}

我尝试在下面的行中打印,它正确地打印了 json 数组中的所有对象,但是当我尝试将返回类型添加为 [String: AnyObject] 时,它返回 nil 值。有人可以给我一些建议吗?

response["json"]

最佳答案

AnyObject 替换为 Any。字典是结构,而不是对象,因此转换会失败。

我还建议学习 Codable 以在将来处理 JSON。

编辑:

您需要先将数据序列化为 JSON 对象。 Data 类不会自动转换为 JSON。

do {
let jsonRoot = try JSONSerialization.jsonObject(with: responseBody, options: []) as! [String: Any]
if let json = jsonRoot["json"] as? [String: Any],
let val = json["value"] as? [String: Any],
let attempt = val["failed_attempt"] as? String {
print(attempt)
}
} catch {
print("Invalid data", error)
}

关于ios - 无法在 swift 4 中解析 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53048522/

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