使用键以数字开头的Swift解码json

时间:2019-06-26 18:37:42

标签: 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 obj = try? JSONDecoder().decode(T.self, from: data)

2 个答案:

答案 0 :(得分:1)

不能。变量不能以数字字符开头。不变的规则。

但是您可以使用processes=False

映射名称
CodingKeys

答案 1 :(得分:0)

不能。 JSON的RFC 7159标准规定对象密钥必须是字符串。

object = begin-object [ member *( value-separator member ) ]
           end-object

member = string name-separator value