JSONModel 遇见关键字为id或者description
像id。description这样的,都是系统自带的,要解析它,得特殊处理一下。我用的是JSONModel
1
2
3
4
5
6
7
8
9
10
11
12
13
|
{
"contentList"
: [
{
"id"
:
"57"
,
"imgSrc"
:
"******"
,
"title"
:
"******"
,
"introduction"
:
"机构简介*******."
,
"url"
:
"******"
,
"created"
:
"2008/12/22"
},
{}
]
}
|
比如,我的一个关键字是id,如果直接写关键字为id,这时候,这个Model类型是不会被解析的,解析完后,类型变量为nil。
这时候,需要我们在模型的.h里面,给它起一个另外的名字:(我起的是list_id)
1
2
3
4
5
6
7
8
|
@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
|
1
2
3
|
+(JSONKeyMapper *)keyMapper{
return
[[JSONKeyMapper alloc]initWithDictionary:@{@
"id"
:@
"list_id"
}];
}
|
将id的值传递给list_id,这样,这个模型就能够被解析了。
当然,在读取时,关键字直接写list_id就可以了。
注意:在写前面的变量名时,要添加Optional