我正在使用Codables
解析JSON数据。问题是我的几个编码键与变量名不同。为此,我使用了CodingKeys
enum,它非常直接,但是我必须写下所有的键,我不希望这样。我只想覆盖几个键而不是全部。
这是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个案子) 最佳答案
检查模态类的正确形式。
希望你能找到解决办法
struct Welcome: Codable {
let stringOne, stringTwo, stringThreeS: String?
enum CodingKeys: String, CodingKey {
case stringOne = "string_one"
case stringTwo = "string_two"
case stringThreeS = "string_three_%s"
}
}
关于swift - 使用'CodingKeys'枚举仅覆盖几个JSON键,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58724124/