Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在变量名称中使用#。JSON、iOS、Swift_Ios_Swift_Decodable - Fatal编程技术网

如何在变量名称中使用#。JSON、iOS、Swift

如何在变量名称中使用#。JSON、iOS、Swift,ios,swift,decodable,Ios,Swift,Decodable,我试图使用decodable解析一些json,但json中的一个名称中有一个# 我怎样才能像下面那样将其添加到我的var中 "image": [ { "#text": "https…", "size": "small" }, 你不能。Swift变量必须以字母或下划线开头 您可以做的是添加CodingKeys在JSON中的字段名和对象中的属性之间进行转换 struct Image: Decodable { let text: String

我试图使用decodable解析一些json,但json中的一个名称中有一个#

我怎样才能像下面那样将其添加到我的var中

"image": [
    { 
        "#text": "https…",
        "size": "small"
    },

你不能。Swift变量必须以字母或下划线开头

您可以做的是添加
CodingKeys
在JSON中的字段名和对象中的属性之间进行转换

struct Image: Decodable {
    let text: String
    let size: String

    enum CodingKeys: String, CodingKey {
        case text = "#text", size
    }
}

应该这样做,但你不能。Swift变量必须以字母或下划线开头

您可以做的是添加
CodingKeys
在JSON中的字段名和对象中的属性之间进行转换

struct Image: Decodable {
    let text: String
    let size: String

    enum CodingKeys: String, CodingKey {
        case text = "#text", size
    }
}

应该这样做

请将代码作为文本(而不是图像)发布,以便搜索。图像来自Json,而不是我的代码。它显示了#sign in the key.JSON的示例、代码、错误消息、崩溃日志等等。请以文本而非图像的形式发布。请以文本(非图像)的形式发布代码,以便可以搜索。图像来自Json,而非我的代码。它显示了#sign in the key.JSON的示例、代码、错误消息、崩溃日志等等。请以文本而不是图片的形式发布。谢谢你。我已经用同样的方法创建了一个枚举,但对大小和使用URL而不是文本中的字符串做了单独的说明。你的版本对我来说很好,做了这些更改。谢谢。我已经用同样的方法创建了一个枚举,但是对大小和使用URL而不是文本中的字符串做了单独的说明。您的版本对我来说很好,有了这些更改,谢谢。