使用Objective-C JSONModel将对象数组作为入口点

时间:2016-12-28 16:45:55

标签: objective-c json cocoa jsonmodel

我有一个以对象数组开头的json对象。我想和这个json对象一起使用JSONModel,但我找不到一个如何做到这一点的例子。

这是我的json:

{
  "days": [{
    "date": "2016-12-22T00:00:00.000Z",
    "items": [{ ... }]
  },{
    "date": ...
  }
}

我创建了一个DaysModel

@interface DaysModel : JSONModel

@property (nonatomic) NSArray<DayModel *> *days;

和相应的DayModel(事实上,我只需要一个“DayModel类型”数组)

@interface DaysModel : JSONModel

@property (nonatomic) NSDate *date;
@property (nonatomic) NSArray<ItemModel *> *items;

但是用字符串初始化我的模型

DaysModel *myDays = [[DaysModel alloc] initWithString:teststring error:&jsonError];

myDays.days的内容将是一个Dictionaries数组,而不是DayModel数组。

1 个答案:

答案 0 :(得分:2)

您可能忘记添加协议,尝试阅读github上的文档?

https://github.com/jsonmodel/jsonmodel#model-collections

尝试添加

@protocol ItemModel;
DaysModel

中的

并改为:

@property (nonatomic) NSArray<ItemModel *> *items;

为:

@property (nonatomic) NSArray<ItemModel> *items;