Swift解码json,密钥以数字开头
我有一个json,格式如下:Swift解码json,密钥以数字开头,json,swift,Json,Swift,我有一个json,格式如下: let json = """ { "stuff": { "1": "one", "2": "two", "4": "four" } } 问题是我怎样才能使我的 struct Stuff: Codable, Equatable { let 1: String let 2: String let 4: String } 编译和工作 我经常用下面的代码来称呼它,它对任何事情都很好,
let json = """
{
"stuff": {
"1": "one",
"2": "two",
"4": "four"
}
}
问题是我怎样才能使我的
struct Stuff: Codable, Equatable {
let 1: String
let 2: String
let 4: String
}
编译和工作
我经常用下面的代码来称呼它,它对任何事情都很好,但如果让name以number开头,它显然无法编译
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标准规定对象键必须是字符串
object = begin-object [ member *( value-separator member ) ]
end-object
member = string name-separator value
变量名也可以以下划线开头(挑剔)@Sulthan我指定了规则是的,我明白了。但我无法更改外部API:D