使用带有对象数组的 Objective-C JSONModel 作为入口点

Using Objective-C JSONModel with an array of objects as entry point

我得到了一个 json 个以对象数组开头的对象。我想将 JSONModel 与此 json 对象一起使用,但我找不到如何执行此操作的示例。

这是我的 json:

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

我创建了一个 DaysModel

@interface DaysModel : JSONModel

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

以及对应的DayModel(其实我只需要一个"DayModel Types"的Array)

@interface DaysModel : JSONModel

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

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

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

myDays.days 的内容将是字典数组而不是 DayModel 数组。

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

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

尝试添加

@protocol ItemModel;

DaysModel

并更改自:

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

至:

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