使用JSONModel将父值映射到嵌套字典中的属性

时间:2014-12-03 16:28:43

标签: ios objective-c iphone jsonmodel

我甚至不确定这是否可行,但我想将节点上的属性映射到数组中的每个项目,该数组也是节点上的属性。

JSON示例

"productType" : {
  "name" : "foo",
  "products" : []
}

所以我希望name的值是每个产品的属性。

我有一个productType模型设置,其上有一个NSArray,所有内容都由JSONModel映射。我在想可能有一种方法在JSONKeyMapper中使用keypath?但找不到任何东西。

1 个答案:

答案 0 :(得分:0)

您现在可以使用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