github:https://github.com/icanzilb/JSONModel
这个的使用要比Mantle简单
Model继承 JSONModel,然后直接申明对应名称的属性即可
如果json中的key无法和声明属性名称对应时,需要在.m中重写keyMapper
+(JSONKeyMapper*)keyMapper{
return[[JSONKeyMapper alloc] initWithModelToJSONDictionary:@{
@"id":@"orderId",
@"productName":@"orderDetails.name",
@"price":@"orderDetails.price.usd"
}
];
}
不需要解析的字段
用 <Ignore>申明一下
@property (nonatomic, strong) NSString <Ignore>*location;
服务器可能返回可能不返回的字段 用 < Optional >声明一下
@property(nonatomic, strong) NSString < Optional >*schedule;
最好少用Optional声明字段,会降低运行效率,尽量让服务器返回规范明确的格式
Model再转成字典
[model toDictionary];