Swift - 如何 JSON 解码 JSON 嵌套数组的可编码(根据给出的示例,其中没有键或名称的数组)

Swift - How to JSONDecode with codable for JSON of nested arrays (where arrays without keys or names as per example given)

我是 Swift 和 Codable 方法的新手。我必须通过 Swift 项目中的 Codable 方法解码以下 JSON 结构。

[
    [
        [
            {
                "id": "58",
                "parentCat": "7",
                "catFirstTitle": "freedom to"
             },
             {
                "id": "40",
                "parentCat": "5",
                "catFirstTitle": "freedom to"
             }
        ],
        [
            {
                "id": "58",
                "parentCat": "7",
                "catFirstTitle": "freedom to"
             },
             {
                "id": "40",
                "parentCat": "5",
                "catFirstTitle": "freedom to"
             }
        ]
    ],
    [
        [
            {
                "id": "58",
                "parentCat": "7",
                "catFirstTitle": "freedom to"
             }
        ]
    ]
]

我找不到任何解码没有键名的多级 jsonArrays 的例子。任何指针或示例都会对我有很大帮助。

您可以创建一个简单的结构:

struct Item: Codable {
    let id: String
    let parentCat: String
    let catFirstTitle: String
}

并解码为嵌套数组对象:

let result = try JSONDecoder().decode([[[Item]]].self, from: jsonData)

请注意,结果的类型为 [[[Item]]]

您可能还想将其展平:

let flattened = result.flatMap { [=12=] }.flatMap { [=12=] }