栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何使用Swift Decodable协议解码嵌套的JSON结构?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何使用Swift Decodable协议解码嵌套的JSON结构?

另一种方法是创建一个与JSON紧密匹配的中间模型(借助于quicktype.io之类的工具),让Swift生成对它进行解码的方法,然后在最终数据模型中挑选所需的片段:

// snake_case to match the JSON and hence no need to write CodingKey enums / structfileprivate struct RawServerResponse: Decodable {    struct User: Decodable {        var user_name: String        var real_info: UserRealInfo    }    struct UserRealInfo: Decodable {        var full_name: String    }    struct Review: Decodable {        var count: Int    }    var id: Int    var user: User    var reviews_count: [Review]}struct ServerResponse: Decodable {    var id: String    var username: String    var fullName: String    var reviewCount: Int    init(from deprer: Deprer) throws {        let rawResponse = try RawServerResponse(from: deprer)        // Now you can pick items that are important to your data model,        // conveniently depred into a Swift structure        id = String(rawResponse.id)        username = rawResponse.user.user_name        fullName = rawResponse.user.real_info.full_name        reviewCount = rawResponse.reviews_count.first!.count    }}

如果

reviews_count
将来它包含多个值,这还使您可以轻松地进行迭代。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/616346.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号