json - Swift,当 key 未知/动态时,如何使用 Decodable 和 Codable 解析/解码 JSON

标签 json swift parsing codable decodable

下面是我的 JSON,我无法解码(使用 CodingKeys) regions 键中的数据是一个字典(“IN-WB”、“IN-DL”等......),由于键是动态的,因此可以或多或少地进行更改.

请帮助我使用 Decodable 和 Codable 解析相同内容。

所有数据都应位于单个模型内。

{
            "provider_code": "AIIN",
            "name": "Jio India",
            "regions": [
                {
                    "IN-WB": "West Bengal"
                },
                {
                    "IN-DL": "Delhi NCR"
                },
                {
                    "IN-TN": "Tamil Nadu"
                },
                {
                    "IN": "India"
                }
            ]
        }

最佳答案

只需使用区域字典即可。

struct Locations: Codable {
    let providerCode: String
    let name: String
    let regions: [[String: String]]

    enum CodingKeys: String, CodingKey {
        case providerCode = "provider_code"
        case name, regions
    }
}

您无法为区域创建特定模型,因为您不知道属性名称

关于json - Swift,当 key 未知/动态时,如何使用 Decodable 和 Codable 解析/解码 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52531554/

相关文章:

ios - 有没有办法将 Swift 词典漂亮地打印到控制台?

ios - 如何在联系人表格 View 顶部显示相同的应用程序用户?

android - 解析 JSON 数组时出错

python - Pandas 数据框到 JSON 的字典

javascript - JSON 对象数组,用于在本地临时存储中存储表单数据(PhoneGap 项目)

json - Yahoo Placefinder API 和 cURL/wget

ios - 消除在 Swift 中绘制 UIBezierPath 平滑线时的滞后延迟

Python:将多个 .txt 文件解析为单个 .csv 文件?

python正则表达式将原始UDP数据读入3d点

Javascript stringify '%%' 丢失百分号