У меня есть приведенный ниже формат JSON, принадлежащий магазину, который находится внутри этого объекта json, Data
поле представляет собой массив JSON, состоящий из иерархии категорий товаров, категории которых хранятся во вложенном иерархическом формате (у каждой категории есть дочерние икаждый дочерний элемент может иметь своих собственных дочерних элементов и т. д.).
{"Data":[
{"ID":1,"ParentCategoryId":0,"Name": "Parent1","Children":
[
{"ID":2,"ParentCategoryId":1,"Name": "P1Child1","Children":[]},
{"ID":3,"ParentCategoryId":1,"Name": "P1Child2","Children":[]},
{"ID":4,"ParentCategoryId":1,"Name": "P1Child3","Children":[]},
{"ID":5,"ParentCategoryId":1,"Name": "P1Child4","Children":[]},
]
},
{"ID":6,"ParentCategoryId":0,"Name": "Parent2","Children":
[
{"ID":7,"ParentCategoryId":6,"Name": "P2Child1","Children":[]},
{"ID":8,"ParentCategoryId":6,"Name": "P2Child2","Children":[]},
{"ID":9,"ParentCategoryId":6,"Name": "P2Child3","Children":[]}
]
}
]
}
Чтение этого формата с использованием Swifty JSON usign json["Data"].array
возвращает плоский список категорий, которые не имеют иерархии.Я хочу знать, как я могу прочитать этот иерархический объект JSON при сохранении его структуры.Вот текущая структура моего Модельного Объекта (который не включен в поле «Дети», но должен быть изменен):
open class ProductCategory: NSObject {
var idd : NSInteger
var name : String
var parentCategoryId : NSInteger
...
}