SWIFT 5 JSONDecoder解码带有空格的字段名JSON例如帖子标题:Hello World&Quot; [英] Swift 5 JSONDecoder decode JSON with field name having a space eg "post title": "Hello World"

查看:30
本文介绍了SWIFT 5 JSONDecoder解码带有空格的字段名JSON例如帖子标题:Hello World&Quot;的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我目前正在使用JSONDecoder在Swift 5中将JSON解析为对象。我现在才意识到JSON的一部分是糟糕的JSON。它有一个带有空格的字段名:"帖子标题"。我不确定为什么会是这样,我知道这样设置JSON是不好的做法,但在JSON方面我无能为力。有没有办法使用JSON解码器将该字段原样获取?

我对此进行了大量研究,但由于这是一个糟糕的json的问题,除了创建自定义解码器/反序列化程序(我正在努力避免)之外,我在网上找不到太多。

JSON:

{
    "Post Title":"Hello World"
}

结构:

struct Post: Decodable {
    var PostTitle: String
}

解码器:

let jsonObject = try jsonDecoder.decode(Post.self, from: responseData)

提前感谢!

推荐答案

对于自定义密钥,请使用CodingKeys匹配JSON键。

struct Post : Codable {

    var PostTitle: String

    private enum CodingKeys : String, CodingKey {
        case PostTitle = "Post Title"
    }
}

注意:变量应使用小写开头字母。

这篇关于SWIFT 5 JSONDecoder解码带有空格的字段名JSON例如帖子标题:Hello World&Quot;的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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