gpt4 book ai didi

swift - 使用 'CodingKeys' 枚举仅覆盖几个 JSON 键

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

我正在使用 Codables 解析 JSON 数据。问题是我的几个编码键与变量名不同。为此,我使用了非常简单的 CodingKeys 枚举,但是我必须写下所有的键,我不想那样。我只想覆盖几个键,而不是全部。

这是 JSON

{
"string_one" = "some string",
"string_two" = "some string",
"string_three_%s" = "some string",
}
class Strings: Codable{

var string_one: String?
var string_two: String?
var string_three: String?

enum CodingKeys: String, CodingKey {
case string_three = "string_three_%s"
}
}

更多说明

我知道添加 case string_one, string_two 会起作用,但假设我有 1000 个字符串并且只想覆盖一个,我必须无缘无故地写 999 个案例。这对我来说似乎不是一件明智的事情(无缘无故地写 999 个案例)

最佳答案

到目前为止,这是不可能的。您必须在 CodingKeys 中指定所有 case

只是对于其他人,您不需要明确指定 rawValue,因为 enum CodingKeys 的原始类型为 String 并且会选择case 名称作为默认的 rawValue,即

enum CodingKeys: String, CodingKey {
case string_three = "string_three_%s"
case string_one, string_two
}

关于swift - 使用 'CodingKeys' 枚举仅覆盖几个 JSON 键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58724124/

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