像id。description这样的,都是系统自带的,要解析它,得特殊处理一下。我用的是JSONModel
{
"contentList": [
{
"id": "57",
"imgSrc": "******",
"title": "******",
"introduction": "机构简介*******.",
"url": "******",
"created": "2008/12/22"
},
{}
]
}
比如,我的一个关键字是id,如果直接写关键字为id,这时候,这个Model类型是不会被解析的,解析完后,类型变量为nil。
这时候,需要我们在模型的.h里面,给它起一个另外的名字:(我起的是list_id)
@interface ContentListM : JSONModel @property (nonatomic, copy) NSString<Optional> * created; @property (nonatomic, copy) NSNumber<Optional> * list_id; @property (nonatomic, copy) NSString<Optional> * imgSrc; @property (nonatomic, copy) NSString<Optional> * introduction; @property (nonatomic, copy) NSString<Optional> * title; @property (nonatomic, copy) NSString<Optional> * url; @end
在.m里面,添加方法:
+(JSONKeyMapper *)keyMapper{
return [[JSONKeyMapper alloc]initWithDictionary:@{@"id":@"list_id"}];
}
将id的值传递给list_id,这样,这个模型就能够被解析了。
当然,在读取时,关键字直接写list_id就可以了。
注意:在写前面的变量名时,要添加Optional
JSONModel 遇见关键字为id或者description
原文:http://www.cnblogs.com/tanglimei/p/5023973.html