使用键以数字开头的Swift解码json [英] Swift decode json with key starting as a number

查看:63
本文介绍了使用键以数字开头的Swift解码json的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有以下格式的json:

I have a json in following format:

let json = """
{
    "stuff": {
        "1": "one",
        "2": "two",
        "4": "four"
    }
}

问题是我该怎么做

struct Stuff: Codable, Equatable {
    let 1: String
    let 2: String
    let 4: String
}

编译工作吗?

我经常在下面用它来调用它,它对所有内容都适用,但如果让名字以数字开头,显然就不能编译

i use to call this with below, and it works fine for everything but if let name starts with number it obviously won't compile

let obj = try? JSONDecoder().decode(T.self, from: data)

推荐答案

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

You can't. A variable must not start with a numeric character. Unalterable rule.

但是您可以使用CodingKeys

struct Stuff: Codable, Equatable {
    let one, two, four: String

    private enum CodingKeys : String, CodingKey { case one = "1",  two = "2", four = "4"}
}

这篇关于使用键以数字开头的Swift解码json的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆