gpt4 book ai didi

swift - 在 Swift 4 中解码可选字典而不进行实际映射

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

我有一个结构,其中包含 [String: Any]? 类型的可选元数据字段。我想将 JSON 解析为该结构,并明确不映射字典,而是保持原样。

struct MyObject: Decodable {
let id: String
let whatever: String
let metaData: [String: Any]?

enum CardKeys: String, CodingKey {
case id
case whatever
case metaData
}

init(from decoder: Decoder) throws {
let container = try decoder.container(keyedBy: CardKeys.self)
id = try container.decode(String.self, forKey: .id)
whatever = try container.decode(String.self, forKey: .whatever)
metaData = try container.decodeIfPresent([String: Any].self, forKey: .metaData)
}
}

该代码可以编译并启动,但在运行时失败。我猜想 [String: Any] 不是我可以在这里使用的有效类型。但那我该怎么办呢?

最佳答案

我创建了一个框架来解码/编码字典。

CodableDictionary

安装框架并替换

  let metaData: [String: Any]?

  let metaData: CodableDictionary?

关于swift - 在 Swift 4 中解码可选字典而不进行实际映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46955898/

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