我有一个以下格式的 json:
let json = """
{
"stuff": {
"1": "one",
"2": "two",
"4": "four"
}
}
问题是我该如何制作
struct Stuff: Codable, Equatable {
let 1: String
let 2: String
let 4: String
}
编译并运行?
我习惯用下面的方式调用它,它对所有东西都工作得很好,但是如果让 name 以数字开头,它显然不会编译
let obj = try? JSONDecoder().decode(T.self, from: data)
最佳答案
你不能。变量不得以数字字符开头。不可改变的规则。
但是您可以使用CodingKeys
映射名称
struct Stuff: Codable, Equatable {
let one, two, four: String
private enum CodingKeys : String, CodingKey { case one = "1", two = "2", four = "4"}
}
关于json - 使用以数字开头的 key 快速解码 json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56779161/