ios jsonModel解析数组

释放双眼,带上耳机,听听看~!

jsonModel解析一般的数据比较简单,这里记录一下困扰了一个下午的解析数组(关键是第二步,即红色部分,如果你已使用过jsonmodel,看红色部分即可):

eg.一段json数据

{
    "code": 0,
    "info": "success",
    "data": {

          "uid": "10299",
         "join": [
            {
                "name": "wqm",
                "avater": "http://dev.nczmall.com/images/default_user_icon.png",
                "time": "2016-05-20 15:08:45"
            },
            {


                "name": "wqm1",
                "avater": "http://dev.nczmall.com/images/default_user_icon.png",
                "time": "2016-05-20 15:08:45"

           }


        ]

}

 

 

1 .先建join模型

JoinModel.h

@interface JoinModel : JsonModel


 @property (nonatomic, copy) NSString *name;

 @property (nonatomic, copy) NSString *avater;

 @property (nonatomic, copy) NSString *time;


@end




JoinModel.cpp

@implementation JoinModel

@end

 

2 data模型(关键步骤)

DataModel.h

@protocal JoinModel    //不是我写错,需要protocal声明JoinModel为协议,否则jsonmodel无法正确解析数组(JoinModel和上面1中的jsonModel命名要相同)


@end

 

 

@interface DataModel: JsonModel {

    @property (nonatomic, copy) NSString* uid;

    @property (nonatomic, strong) NSArray<JoinModel> *join;   //JoinModel是协议,尖括号内没用星号!


 }

@end




DataModel.cpp

@implementation DataModel

@end

 

 

3.整个json数据模型

PrizeModel.h

@protocal PrizeModel


@end




 @interface PrizeModel: JsonModel {

    @property (nonatomic, assign) NSInteger code;


    @property (nonatomic, copy) NSString* info;

    @property (nonatomic, strong) DataModel *data;


 }

@end




PrizeModel.cpp

@implementation PrizeModel

@end

 

4.使用

PrizeModel *model =[[PrizeModel alloc] initWithDictionary:dataDic error: nil]; //dataDic为生面的json数据。

 

 

 

 

人已赞赏
iOS文章

ios app退出后cookies丢失的解决方法

2020-2-6 13:37:16

iOS文章

iOS开发 instruments 静态分析常见问题

2020-2-6 13:55:39

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
有新消息 消息中心
搜索