Сопоставить родительское значение со свойством во вложенном словаре с помощью JSONModel
Я даже не уверен, возможно ли это, но я бы хотел сопоставить свойство узла каждому элементу в массиве, который также является свойством узла.
Пример JSON
"productType" : {
"name" : "foo",
"products" : []
}
Поэтому я хочу, чтобы значение name было свойством каждого продукта.
У меня настроена модель productType, в которой есть NSArray, и все отображается в JSONModel. Я думал, что может быть способ использования keypath в JSONKeyMapper? Но ничего не смог найти.
1 ответ
Теперь вы можете сделать это с JSONModel
,
Предположим, у нас есть следующая модель:
@class MyModel
@property (strong, nonatomic) NSString *name;
@property (strong, nonatomic) NSArray *products;
@end
Если полный документ JSON выглядит следующим образом:
{
"productType1": {
"name": "foo",
"products": []
},
"productType2": {
"name": "foo",
"products": []
},
"productType3": {
"name": "foo",
"products": []
}
}
тогда вы должны использовать один из [MyModel dictionaryOfModelsFrom...];
методы.
Если это выглядит так:
{
"productTypes": {
"productType1": {
"name": "foo",
"products": []
},
"productType2": {
"name": "foo",
"products": []
},
"productType3": {
"name": "foo",
"products": []
}
}
}
Тогда вы должны использовать другую модель, как это:
@class MyModelContainer
@property (strong, nonatomic) NSDictionary <MyModel> *productTypes;
@end