问题描述
我是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 }