使用 JSONDecoder Swift 解码具有整数值的字符串键 [关闭]

Posted

技术标签:

【中文标题】使用 JSONDecoder Swift 解码具有整数值的字符串键 [关闭]【英文标题】:Decode string key having integer value using JSONDecoder Swift [closed] 【发布时间】:2020-03-31 09:09:38 【问题描述】:

我正在对来自 API 的 JSON 数据进行解码,但我一直在解码具有整数值键的图像对象,您可以在所附的屏幕截图中看到,任何帮助都应该不胜感激。Screenshot

【问题讨论】:

您希望它们如何在您的结构中表示?号码重要吗?否则,使用自定义 ini(from decoder:) 并管理它们。只有图像?不是 roomId 的键? 复制粘贴代码而不是截图 如果您负责 API 发送更合适的数据。不像 php Array 和 Dictionary 在 Swift 中是完全不同的 【参考方案1】:

使用 Codable,您可以使用以下模型解析上述 JSON 响应

struct Room: Decodable 
    let roomId: String
    let name: String
    let images: [String:String?]

现在,像这样解析它,

do 
    let response = try JSONDecoder().decode([String:Room].self, from: data)
    print(response)
 catch 
    print(error)

【讨论】:

以上是关于使用 JSONDecoder Swift 解码具有整数值的字符串键 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何在 swift 4.1 和 xcode 9.3 中使用 JSONDecoder 解码嵌套的 JSON 数组和对象?

Swift 4 JSONDecoder 解码协议类型

使用 JSONDecoder 解码 [[String]]?

Swift - 将类型动态传递给 JSONDecoder

Swift4 JSONDecoder 期望解码 Dictionary<String, Any> 但找到了一个数组 [重复]

使用 JSONDecoder 解码古怪的日期格式