热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

使用Decodable返回的空模型解析JSON

如何解决《使用Decodable返回的空模型解析JSON》经验,为你挑选了1个好方法。

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

JSON文件:

[
{
    "body": {},
    "header": {
        "returnCode": "200",
        "returnMessage": "Successfully Received",
    }
}
]

响应消息模型:

struct ResponseMessage: Decodable {

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

模拟API的实现:

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)
            }

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

感谢您的帮助和建议!

谢谢



1> Kamran..:

更新ResponseMessageHeader类型如下,

struct ResponseMessage: Decodable {
    var header: Header
}


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

decode像这样的,

do {
    let data = try Data(contentsOf: url)
    let teams = try JSONDecoder().decode([ResponseMessage].self, from: data)
    print(teams.first!.header.returnMessage)
} catch {
    print(error)
}


推荐阅读
author-avatar
匿名用户
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有