微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Swift-如何使用可编码的JSONDecode嵌套数组的JSON其中没有键或名称的数组按给出的示例

如何解决Swift-如何使用可编码的JSONDecode嵌套数组的JSON其中没有键或名称的数组按给出的示例

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

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

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

解决方法

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

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 { $0 }.flatMap { $0 }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。