ios jsonModel解析数组

来源:互联网 发布:高级礼服租赁软件 编辑:程序博客网 时间:2024/06/06 19:11

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数据。

然后在model中就可以看到解析好的数据数据了。(还没看到,联系我(qq: 1246489125))




0 0