Сопоставить родительское значение со свойством во вложенном словаре с помощью 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
Другие вопросы по тегам