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=] }
我是 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=] }