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聲明字段,會降低運行效率,盡量讓服務器返回規(guī)范明確的格式
Model再轉成字典
[model toDictionary];