社区首页 >问答首页 >使用可解码的返回空模型解析JSON

使用可解码的返回空模型解析JSON
EN

Stack Overflow用户
提问于 2019-08-27 05:41:09
回答 1查看 204关注 0票数 1

我正在尝试加载本地JSON文件,并使用符合Decodable协议的模型进行解析。

JSON文件:

代码语言:javascript
代码运行次数:0
复制
[
{
    "body": {},
    "header": {
        "returnCode": "200",
        "returnMessage": "Successfully Received",
    }
}
]

响应消息模型:

代码语言:javascript
代码运行次数:0
复制
struct ResponseMessage: Decodable {

    struct header: Decodable {
        let returnCode: String
        let returnMessage: String
    }
}

模拟API实现:

代码语言:javascript
代码运行次数:0
复制
let url = Bundle.main.url(forResource: "MockJSONData", withExtension: "json")!
            do {
                let data = try Data(contentsOf: url)
                let teams = try JSONDecoder().decode(ResponseMessage.self, from: data)
                print(teams)
            } catch {
                print(error)
            }

但是响应消息返回的是空数据。

感谢您的帮助和建议!

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-27 05:53:00

更新ResponseMessageHeader类型,如下所示

代码语言:javascript
代码运行次数:0
复制
struct ResponseMessage: Decodable {
    var header: Header
}


struct Header: Decodable {
    let returnCode: String
    let returnMessage: String
}

像这样的decode

代码语言:javascript
代码运行次数:0
复制
do {
    let data = try Data(contentsOf: url)
    let teams = try JSONDecoder().decode([ResponseMessage].self, from: data)
    print(teams.first!.header.returnMessage)
} catch {
    print(error)
}
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57668268

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档