gpt4 book ai didi

json - JSON返回单个字符串时如何使用Swift的JSONSerialization

转载 作者:行者123 更新时间:2023-12-05 09:12:04 31 4
gpt4 key购买 nike

所以这可能是一个非常基本的问题,但我很好奇您将如何在 Swift 中使用 JSONSerialization 处理解析作为单个字符串返回的 JSON 对象。所以我在玩免费的哈利波特 API 并注意到其中一个路由返回一个字符串 ( https://www.potterapi.com/v1/sortinghat ),它给出的响应只是哈利波特中四个房子之一的一个字符串。

“拉文克劳”

下面是我的尝试。

do {
let json = try JSONSerialization.jsonObject(with: data, options: []) as? String
print("json: \(json)")
} catch {
print("Error: \(error.localizedDescription)")
}

我认为简单地将类型转换为 String 就足够了,但我只是收到以下错误:“错误:无法读取数据,因为它的格式不正确。

我知道有更好的方法来解析 JSON,比如使用 Codable,但我只是想在继续解决这个问题之前了解它是如何工作的。

最佳答案

JSONSerialization 是错误的工具。你想使用 JSONDecoder,它在 Swift 中更有用:

let json = Data("""
"Ravenclaw"
""".utf8)

let result = try JSONDecoder().decode(String.self, from: json)

请注意,这需要 iOS 13.1 或 macOS 10.15.1。否则,您将需要使用@vadian 的回答。

关于json - JSON返回单个字符串时如何使用Swift的JSONSerialization,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59236554/

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