Object-C_Mantle,MJExtension,YYKit转换性能对比

1.代码自测对比数据转换效率

2016-08-17 17:53:15.109 JSON转Model库测试[20296:325871] ===============YYModel=======================
2016-08-17 17:53:15.143 JSON转Model库测试[20296:325871] || 循环次数:10
2016-08-17 17:53:15.143 JSON转Model库测试[20296:325871] || 总时间 :32.869385毫秒
2016-08-17 17:53:15.143 JSON转Model库测试[20296:325871] || 平均装换时间:3.286938

2016-08-17 17:53:15.144 JSON转Model库测试[20296:325871] ===============Mantle=======================
2016-08-17 17:53:15.883 JSON转Model库测试[20296:325871] || 循环次数:10
2016-08-17 17:53:15.883 JSON转Model库测试[20296:325871] || 总时间 :738.798340毫秒
2016-08-17 17:53:15.883 JSON转Model库测试[20296:325871] || 平均装换时间:73.879834

2016-08-17 17:53:15.883 JSON转Model库测试[20296:325871] ===============MJExtersion==================
2016-08-17 17:53:16.263 JSON转Model库测试[20296:325871] || 循环次数:10
2016-08-17 17:53:16.263 JSON转Model库测试[20296:325871] || 总时间 :379.388916毫秒
2016-08-17 17:53:16.263 JSON转Model库测试[20296:325871] || 平均装换时间:37.938892

专家评测数据图

JSON转Model.png

2.代码

测试库版本

pod 'YYKit', '~> 1.0.7'
pod 'Mantle', '~> 2.0.6'
pod 'MJExtension', '~> 3.0.13'

1.使用测试代码


- (void)viewDidLoad {
    [super viewDidLoad];
    
    NSInteger cycleTimes       = 10;//循环次数
    NSTimeInterval totleTime   = 0;//总时间
    NSTimeInterval averageTime = 0;//平均时间
    NSTimeInterval _timeStart;
    NSTimeInterval _timeEnd;
    
    NSDictionary *jsonData = [NSDictionary dictionaryWithContentsOfFile:@"/Users/Jonkey/Desktop/DemoSets/JSON转Model库测试/JSON转Model库测试/DataSource.plist"];
    //NSLog(@"%@",jsonData);

    NSLog(@"===============YYModel=======================");
    for (int i = 0; i < cycleTimes ; i++) {
        _timeStart = [self getCurSystemTimeInterval];
        SaleEstateYYModelEntity *saleEntity = [SaleEstateYYModelEntity yy_modelWithJSON:jsonData];
        _timeEnd   = [self  getCurSystemTimeInterval];
        //NSLog(@"YYModel转换时间: %f毫秒",_timeEnd -  _timeStart);
        totleTime  += _timeEnd -  _timeStart;
    }
    averageTime = totleTime/cycleTimes;
    NSLog(@"|| 循环次数:%lu",cycleTimes);
    NSLog(@"|| 总时间 :%f毫秒",totleTime);
    NSLog(@"|| 平均装换时间:%f\n\n",averageTime);

    /*******************************************************/
    
    NSLog(@"===============Mantle=======================");
    totleTime = 0;
    for (int i = 0; i < cycleTimes ; i++) {
        _timeStart = [self getCurSystemTimeInterval];
        SaleEstateMantleEntity *saleEntity = [MTLJSONAdapter modelOfClass:[SaleEstateMantleEntity class]
                                                       fromJSONDictionary:jsonData
                                                                    error:nil];
        _timeEnd   = [self  getCurSystemTimeInterval];
        //NSLog(@"Mantle转换换时间: %f毫秒",_timeEnd -  _timeStart);
        totleTime  += _timeEnd -  _timeStart;
    }
    averageTime = totleTime/cycleTimes;
    NSLog(@"|| 循环次数:%lu",cycleTimes);
    NSLog(@"|| 总时间 :%f毫秒",totleTime);
    NSLog(@"|| 平均装换时间:%f\n\n",averageTime);
    
    /*******************************************************/
    
    NSLog(@"===============MJExtersion==================");
    totleTime = 0;
    for (int i = 0; i < cycleTimes ; i++) {
        _timeStart = [self getCurSystemTimeInterval];
        SaleEstateMJEntity *saleEntity = [SaleEstateMJEntity mj_objectWithKeyValues:jsonData];
        _timeEnd   = [self  getCurSystemTimeInterval];
        //NSLog(@"MJExtersion转换换时间: %f毫秒",_timeEnd -  _timeStart);
        totleTime  += _timeEnd -  _timeStart;
    }
    averageTime = totleTime/cycleTimes;
    NSLog(@"|| 循环次数:%lu",cycleTimes);
    NSLog(@"|| 总时间 :%f毫秒",totleTime);
    NSLog(@"|| 平均装换时间:%f\n\n",averageTime);
}

///获取当前时间的时间戳(毫秒)
- (NSTimeInterval)getCurSystemTimeInterval{
    NSTimeInterval dateInterval = [[NSDate date] timeIntervalSince1970] * 1000;
    return dateInterval;
}

YYModel测试的NSObject类型的代码

====================.h====================
#import <Foundation/Foundation.h>

@interface SaleResultEntity : NSObject

@property (nonatomic,assign) BOOL IsFollow;//是否跟盘
@property (nonatomic,assign) BOOL IsSole;//是否独家
@property (nonatomic,assign) BOOL IsOnline;//是否外网展示
@property (nonatomic,assign) BOOL RotatedIn;//是否一盘一处
@property (nonatomic,assign) BOOL IsAnyTimeSee;//是否随时可看(钥匙)
@property (nonatomic,assign) BOOL IsTop;//是否置顶
@property (nonatomic,assign) BOOL IsHot;//是否热盘
@property (nonatomic,assign) BOOL IsManWu;//是否满五年
@property (nonatomic,assign) BOOL IsManEr;//是否满二年
@property (nonatomic,assign) BOOL IsOnly;//是否唯一
@property (nonatomic,assign) BOOL IsKeys;//是否有钥匙
@property (nonatomic,assign) BOOL IsMetro;//是否地铁房
@property (nonatomic,assign) BOOL IsSchool;//是否学区
@property (nonatomic,assign) BOOL IsManager;//是否经理推荐
@property (nonatomic,assign) BOOL isRegion;//是否区域推荐
@property (nonatomic,assign) BOOL isExclusive;//是否新增独家人
@property (nonatomic,assign) BOOL IsJiShou;//是否急售(限时出售)
@property (nonatomic,assign) BOOL IsDel;//是否删除
@property (nonatomic,assign) BOOL Label1;//预留标签1
@property (nonatomic,assign) BOOL Label2;//是否含有视频
@property (nonatomic,assign) BOOL Label3;//预留标签3
@property (nonatomic,assign) BOOL Label4;//预留标签4
@property (nonatomic,assign) BOOL Label5;//预留标签5

@property (nonatomic,assign) double SalePrice;//售价
@property (nonatomic,assign) double UnitSalePrice;//单价
@property (nonatomic,assign) double RentPrice;//租价
@property (nonatomic,assign) double GArea;//建筑面积
@property (nonatomic,assign) double Lat;
@property (nonatomic,assign) double Lng;

@property (nonatomic,strong) NSString *PostId;//房源ID
@property (nonatomic,strong) NSString *AgencyPropId;//agency房源id
@property (nonatomic,strong) NSString *PostType;//租售类型 S:租 R:售 B:租售
@property (nonatomic,strong) NSString *EstateName;//小区名称
@property (nonatomic,strong) NSString *EstateCode;//小区code
@property (nonatomic,strong) NSString *Address;//楼盘地址
@property (nonatomic,strong) NSString *Title;//房源标题
@property (nonatomic,strong) NSString *Keywords;//关键字
@property (nonatomic,strong) NSString *EstateImageUrl;//房源默认图片路径
@property (nonatomic,strong) NSString *Direction;//朝向
@property (nonatomic,strong) NSString *TencentVistaUrl;//腾讯街景
@property (nonatomic,strong) NSString *Fitment;//装修情况
@property (nonatomic,strong) NSString *RegionName;//区域名称
@property (nonatomic,strong) NSString *GscopeName;//板块名称
@property (nonatomic,strong) NSString *FloorDisplay;//显示楼层

@property (nonatomic,assign) NSInteger RoomCount;//房间数
@property (nonatomic,assign) NSInteger HallCount;//客厅数
@property (nonatomic,assign) NSInteger ToiletCount;//卫浴数
@property (nonatomic,assign) NSInteger BalconyCount;//阳台数
@property (nonatomic,assign) NSInteger KitchenCount;//厨房数
@property (nonatomic,assign) NSInteger RegionId;//区域id
@property (nonatomic,assign) NSInteger GscopeId;//板块id
@property (nonatomic,assign) NSInteger EstateSimilarPostsCnt;//小区同价位房源数量
@property (nonatomic,assign) NSInteger RegionSimilarPostsCnt;//周边同价位房源数量
@property (nonatomic,assign) NSInteger Floor;//所在楼层
@property (nonatomic,assign) NSInteger FloorTotal;//总楼层
@property (nonatomic,assign) NSTimeInterval OpDate;//建造年代

@property (nonatomic, copy)NSString *RentType;// 租房类型(整租/合租)
@property (nonatomic, copy)NSString *RentPayType;// 房租支付方式

@property (nonatomic, copy)NSString *MatchSchoolsName;//对口学校名称拼接字符串 以英文逗号分隔(,);
@property (nonatomic, assign)BOOL IsHasDealData;//是否成交
@property (nonatomic, strong)NSArray *RailWayInfos;//   List<RailWayToEstateResponse>   房源地铁信息;
@property (nonatomic, copy) NSString *ApplianceInfo; // 租房配套信息

///最近是否浏览过改房源(此字段不是数据字典中的)
@property (nonatomic,assign) BOOL IsRecentlyVisitEstate;
@property (nonatomic,strong) NSString *PostVideoUrl;    //视频URL
@property (nonatomic,strong) NSString *PaNo;    //街景PaNo

@end

@interface SaleEstateYYModelEntity : NSObject

@property (nonatomic,strong) NSArray<SaleResultEntity*> *Result;
@property (nonatomic,  copy) NSString *ResultNo;
@property (nonatomic,  copy) NSString *Total;

@end


====================.m====================
#import "SaleEstateYYModelEntity.h"

@implementation SaleResultEntity

@end

@implementation SaleEstateYYModelEntity

+ (NSDictionary *)modelContainerPropertyGenericClass {
    return @{
             @"Result" : [SaleResultEntity class]
             };
}

@end

Mantle测试的NSObject类型的代码

====================.h====================
#import "MTLModel.h"
#import "MTLJSONAdapter.h"
#import "NSValueTransformer+MTLPredefinedTransformerAdditions.h"

@interface SaleEstateListDetailEntity : MTLModel<MTLJSONSerializing>

@property (nonatomic,assign) BOOL isFollow;//是否跟盘
@property (nonatomic,assign) BOOL isSole;//是否独家
@property (nonatomic,assign) BOOL isOnline;//是否外网展示
@property (nonatomic,assign) BOOL rotatedIn;//是否一盘一处
@property (nonatomic,assign) BOOL isAnyTimeSee;//是否随时可看(钥匙)
@property (nonatomic,assign) BOOL isTop;//是否置顶
@property (nonatomic,assign) BOOL isHot;//是否热盘
@property (nonatomic,assign) BOOL isManWu;//是否满五年
@property (nonatomic,assign) BOOL isManEr;//是否满二年
@property (nonatomic,assign) BOOL isOnly;//是否唯一
@property (nonatomic,assign) BOOL isKeys;//是否有钥匙
@property (nonatomic,assign) BOOL isMetro;//是否地铁房
@property (nonatomic,assign) BOOL isSchool;//是否学区
@property (nonatomic,assign) BOOL isManager;//是否经理推荐
@property (nonatomic,assign) BOOL isRegion;//是否区域推荐
@property (nonatomic,assign) BOOL isExclusive;//是否新增独家人
@property (nonatomic,assign) BOOL isJiShou;//是否急售(限时出售)
@property (nonatomic,assign) BOOL isDel;//是否删除
@property (nonatomic,assign) BOOL label1;//预留标签1
@property (nonatomic,assign) BOOL label2;//是否含有视频
@property (nonatomic,assign) BOOL label3;//预留标签3
@property (nonatomic,assign) BOOL label4;//预留标签4
@property (nonatomic,assign) BOOL label5;//预留标签5

@property (nonatomic,assign) double salePrice;//售价
@property (nonatomic,assign) double unitSalePrice;//单价
@property (nonatomic,assign) double rentPrice;//租价
@property (nonatomic,assign) double gArea;//建筑面积
@property (nonatomic,assign) double lat;
@property (nonatomic,assign) double lng;

@property (nonatomic,strong) NSString *postId;//房源ID
@property (nonatomic,strong) NSString *agencyPropId;//agency房源id
@property (nonatomic,strong) NSString *postType;//租售类型 S:租 R:售 B:租售
@property (nonatomic,strong) NSString *estateName;//小区名称
@property (nonatomic,strong) NSString *estateCode;//小区code
@property (nonatomic,strong) NSString *address;//楼盘地址
@property (nonatomic,strong) NSString *title;//房源标题
@property (nonatomic,strong) NSString *keywords;//关键字
@property (nonatomic,strong) NSString *estateImageUrl;//房源默认图片路径
@property (nonatomic,strong) NSString *direction;//朝向
@property (nonatomic,strong) NSString *tencentVistaUrl;//腾讯街景
@property (nonatomic,strong) NSString *fitment;//装修情况
@property (nonatomic,strong) NSString *regionName;//区域名称
@property (nonatomic,strong) NSString *gscopeName;//板块名称
@property (nonatomic,strong) NSString *floorDisplay;//显示楼层

@property (nonatomic,assign) NSInteger roomCount;//房间数
@property (nonatomic,assign) NSInteger hallCount;//客厅数
@property (nonatomic,assign) NSInteger toiletCount;//卫浴数
@property (nonatomic,assign) NSInteger balconyCount;//阳台数
@property (nonatomic,assign) NSInteger kitchenCount;//厨房数
@property (nonatomic,assign) NSInteger regionId;//区域id
@property (nonatomic,assign) NSInteger gscopeId;//板块id
@property (nonatomic,assign) NSInteger estateSimilarPostsCnt;//小区同价位房源数量
@property (nonatomic,assign) NSInteger regionSimilarPostsCnt;//周边同价位房源数量
@property (nonatomic,assign) NSInteger floor;//所在楼层
@property (nonatomic,assign) NSInteger floorTotal;//总楼层
@property (nonatomic,assign) NSTimeInterval opDate;//建造年代

@property (nonatomic, copy)NSString *rentType;// 租房类型(整租/合租)
@property (nonatomic, copy)NSString *rentPayType;// 房租支付方式

@property (nonatomic, copy)NSString *matchSchoolsName;//对口学校名称拼接字符串 以英文逗号分隔(,);
@property (nonatomic, assign)BOOL isHasDealData;//是否成交
@property (nonatomic, strong)NSArray *railWayInfos;//   List<RailWayToEstateResponse>   房源地铁信息;
@property (nonatomic, copy) NSString *applianceInfo; // 租房配套信息

///最近是否浏览过改房源(此字段不是数据字典中的)
@property (nonatomic,assign) BOOL isRecentlyVisitEstate;
@property (nonatomic,strong) NSString *postVideoUrl;    //视频URL
@property (nonatomic,strong) NSString *paNo;    //街景PaNo

@end

@interface SaleEstateMantleEntity : MTLModel<MTLJSONSerializing>

@property (nonatomic,assign) NSInteger resultNo;
@property (nonatomic,strong) NSString *message;
@property (nonatomic,assign) NSInteger total;
@property (nonatomic,strong) NSArray<SaleEstateListDetailEntity *> *result;

@end

====================.m====================
#import "SaleEstateMantleEntity.h"

@implementation SaleEstateListDetailEntity

+(NSDictionary *)JSONKeyPathsByPropertyKey
{
    
    return @{@"postId":@"PostId",
             @"agencyPropId":@"PropId",
             @"postType":@"PostType",
             @"estateName":@"EstateName",
             @"estateCode":@"EstateCode",
             @"address":@"Address",
             @"unitSalePrice":@"UnitSalePrice",
             @"rentPrice":@"RentPrice",
             @"title":@"Title",
             @"keywords":@"KeyWords",
             @"estateImageUrl":@"DefaultImage",
             @"roomCount":@"RoomCount",
             @"hallCount":@"HallCount",
             @"toiletCount":@"ToiletCount",
             @"balconyCount":@"BalconyCount",
             @"kitchenCount":@"KitchenCount",
             @"gArea":@"GArea",
             @"direction":@"Direction",
             
             @"isFollow":@"IsFollow",
             @"isSole":@"IsSole",
             @"isOnline":@"IsOnline",
             @"rotatedIn":@"RotatedIn",
             @"isAnyTimeSee":@"IsAnyTimeSee",
             @"isTop":@"IsTop",
             @"isHot":@"IsHot",
             @"isManWu":@"IsManWu",
             @"isManEr":@"IsManEr",
             @"isOnly":@"IsOnly",
             @"isKeys":@"IsKeys",
             @"isMetro":@"IsMetro",
             @"isSchool":@"IsSchool",
             @"isManager":@"IsManager",
             @"isRegion":@"IsRegion",
             @"isExclusive":@"IsExclusive",
             @"isJiShou":@"IsJiShou",
             @"isDel":@"IsDel",
             @"label1":@"Label1",
             @"label2":@"Label2",
             @"label3":@"Label3",
             @"label4":@"Label4",
             @"label5":@"Label5",
             
             @"salePrice":@"SalePrice",
             @"tencentVistaUrl":@"TencentVistaUrl",
             @"fitment":@"Fitment",
             @"lat":@"Lat",
             @"lng":@"Lng",
             @"regionId":@"RegionId",
             @"gscopeId":@"GScopeId",
             @"regionName":@"RegionName",
             @"gscopeName":@"GscopeName",
             @"estateSimilarPostsCnt":@"EstateSimilarPostsCnt",
             @"regionSimilarPostsCnt":@"RegionSimilarPostsCnt",
             @"floor":@"Floor",
             @"floorTotal":@"FloorTotal",
             @"floorDisplay":@"FloorDisplay",
             @"opDate":@"OpDate",
             @"rentType":@"RentType",
             @"rentPayType":@"RentPayType",
             @"railWayInfos":@"RailWayInfos",
             @"matchSchoolsName":@"MatchSchoolsName",
             @"isHasDealData":@"IsHasDealData",
             @"applianceInfo":@"ApplianceInfo",
             @"postVideoUrl":@"PostVideoUrl",
             @"paNo":@"PaNo",
             };
}

@end


@implementation SaleEstateMantleEntity

+(NSDictionary *)JSONKeyPathsByPropertyKey {
    return@{
            @"result":@"Result",
            @"resultNo":@"ResultNo",
            @"message":@"Message",
            @"total":@"Total"
            };
}

+(NSValueTransformer *)resultJSONTransformer {
    return [MTLJSONAdapter arrayTransformerWithModelClass:[SaleEstateListDetailEntity class]];
}

@end

Mantle测试的NSObject类型的代码

====================.h====================
#import <Foundation/Foundation.h>
#import "MJExtension.h"

@interface SaleEstateMJResultEntity : NSObject

@property (nonatomic,assign) BOOL isFollow;//是否跟盘
@property (nonatomic,assign) BOOL isSole;//是否独家
@property (nonatomic,assign) BOOL isOnline;//是否外网展示
@property (nonatomic,assign) BOOL rotatedIn;//是否一盘一处
@property (nonatomic,assign) BOOL isAnyTimeSee;//是否随时可看(钥匙)
@property (nonatomic,assign) BOOL isTop;//是否置顶
@property (nonatomic,assign) BOOL isHot;//是否热盘
@property (nonatomic,assign) BOOL isManWu;//是否满五年
@property (nonatomic,assign) BOOL isManEr;//是否满二年
@property (nonatomic,assign) BOOL isOnly;//是否唯一
@property (nonatomic,assign) BOOL isKeys;//是否有钥匙
@property (nonatomic,assign) BOOL isMetro;//是否地铁房
@property (nonatomic,assign) BOOL isSchool;//是否学区
@property (nonatomic,assign) BOOL isManager;//是否经理推荐
@property (nonatomic,assign) BOOL isRegion;//是否区域推荐
@property (nonatomic,assign) BOOL isExclusive;//是否新增独家人
@property (nonatomic,assign) BOOL isJiShou;//是否急售(限时出售)
@property (nonatomic,assign) BOOL isDel;//是否删除
@property (nonatomic,assign) BOOL label1;//预留标签1
@property (nonatomic,assign) BOOL label2;//是否含有视频
@property (nonatomic,assign) BOOL label3;//预留标签3
@property (nonatomic,assign) BOOL label4;//预留标签4
@property (nonatomic,assign) BOOL label5;//预留标签5

@property (nonatomic,assign) double salePrice;//售价
@property (nonatomic,assign) double unitSalePrice;//单价
@property (nonatomic,assign) double rentPrice;//租价
@property (nonatomic,assign) double gArea;//建筑面积
@property (nonatomic,assign) double lat;
@property (nonatomic,assign) double lng;

@property (nonatomic,strong) NSString *postId;//房源ID
@property (nonatomic,strong) NSString *agencyPropId;//agency房源id
@property (nonatomic,strong) NSString *postType;//租售类型 S:租 R:售 B:租售
@property (nonatomic,strong) NSString *estateName;//小区名称
@property (nonatomic,strong) NSString *estateCode;//小区code
@property (nonatomic,strong) NSString *address;//楼盘地址
@property (nonatomic,strong) NSString *title;//房源标题
@property (nonatomic,strong) NSString *keywords;//关键字
@property (nonatomic,strong) NSString *estateImageUrl;//房源默认图片路径
@property (nonatomic,strong) NSString *direction;//朝向
@property (nonatomic,strong) NSString *tencentVistaUrl;//腾讯街景
@property (nonatomic,strong) NSString *fitment;//装修情况
@property (nonatomic,strong) NSString *regionName;//区域名称
@property (nonatomic,strong) NSString *gscopeName;//板块名称
@property (nonatomic,strong) NSString *floorDisplay;//显示楼层

@property (nonatomic,assign) NSInteger roomCount;//房间数
@property (nonatomic,assign) NSInteger hallCount;//客厅数
@property (nonatomic,assign) NSInteger toiletCount;//卫浴数
@property (nonatomic,assign) NSInteger balconyCount;//阳台数
@property (nonatomic,assign) NSInteger kitchenCount;//厨房数
@property (nonatomic,assign) NSInteger regionId;//区域id
@property (nonatomic,assign) NSInteger gscopeId;//板块id
@property (nonatomic,assign) NSInteger estateSimilarPostsCnt;//小区同价位房源数量
@property (nonatomic,assign) NSInteger regionSimilarPostsCnt;//周边同价位房源数量
@property (nonatomic,assign) NSInteger floor;//所在楼层
@property (nonatomic,assign) NSInteger floorTotal;//总楼层
@property (nonatomic,assign) NSTimeInterval opDate;//建造年代

@property (nonatomic, copy)NSString *rentType;// 租房类型(整租/合租)
@property (nonatomic, copy)NSString *rentPayType;// 房租支付方式

@property (nonatomic, copy)NSString *matchSchoolsName;//对口学校名称拼接字符串 以英文逗号分隔(,);
@property (nonatomic, assign)BOOL isHasDealData;//是否成交
@property (nonatomic, strong)NSArray *railWayInfos;//   List<RailWayToEstateResponse>   房源地铁信息;
@property (nonatomic, copy) NSString *applianceInfo; // 租房配套信息

///最近是否浏览过改房源(此字段不是数据字典中的)
@property (nonatomic,assign) BOOL isRecentlyVisitEstate;
@property (nonatomic,strong) NSString *postVideoUrl;    //视频URL
@property (nonatomic,strong) NSString *paNo;    //街景PaNo


@end

@interface SaleEstateMJEntity : NSObject

@property (nonatomic,assign) NSInteger resultNo;
@property (nonatomic,assign) NSInteger total;
@property (nonatomic,strong) NSArray<SaleEstateMJResultEntity *> *result;


@end
====================.m====================
#import "SaleEstateMJEntity.h"

@implementation SaleEstateMJResultEntity

+ (void)load{
    [SaleEstateMJResultEntity mj_setupReplacedKeyFromPropertyName:^NSDictionary *{
        return @{@"postId":@"PostId",
                 @"agencyPropId":@"PropId",
                 @"postType":@"PostType",
                 @"estateName":@"EstateName",
                 @"estateCode":@"EstateCode",
                 @"address":@"Address",
                 @"unitSalePrice":@"UnitSalePrice",
                 @"rentPrice":@"RentPrice",
                 @"title":@"Title",
                 @"keywords":@"KeyWords",
                 @"estateImageUrl":@"DefaultImage",
                 @"roomCount":@"RoomCount",
                 @"hallCount":@"HallCount",
                 @"toiletCount":@"ToiletCount",
                 @"balconyCount":@"BalconyCount",
                 @"kitchenCount":@"KitchenCount",
                 @"gArea":@"GArea",
                 @"direction":@"Direction",
                 
                 @"isFollow":@"IsFollow",
                 @"isSole":@"IsSole",
                 @"isOnline":@"IsOnline",
                 @"rotatedIn":@"RotatedIn",
                 @"isAnyTimeSee":@"IsAnyTimeSee",
                 @"isTop":@"IsTop",
                 @"isHot":@"IsHot",
                 @"isManWu":@"IsManWu",
                 @"isManEr":@"IsManEr",
                 @"isOnly":@"IsOnly",
                 @"isKeys":@"IsKeys",
                 @"isMetro":@"IsMetro",
                 @"isSchool":@"IsSchool",
                 @"isManager":@"IsManager",
                 @"isRegion":@"IsRegion",
                 @"isExclusive":@"IsExclusive",
                 @"isJiShou":@"IsJiShou",
                 @"isDel":@"IsDel",
                 @"label1":@"Label1",
                 @"label2":@"Label2",
                 @"label3":@"Label3",
                 @"label4":@"Label4",
                 @"label5":@"Label5",
                 
                 @"salePrice":@"SalePrice",
                 @"tencentVistaUrl":@"TencentVistaUrl",
                 @"fitment":@"Fitment",
                 @"lat":@"Lat",
                 @"lng":@"Lng",
                 @"regionId":@"RegionId",
                 @"gscopeId":@"GScopeId",
                 @"regionName":@"RegionName",
                 @"gscopeName":@"GscopeName",
                 @"estateSimilarPostsCnt":@"EstateSimilarPostsCnt",
                 @"regionSimilarPostsCnt":@"RegionSimilarPostsCnt",
                 @"floor":@"Floor",
                 @"floorTotal":@"FloorTotal",
                 @"floorDisplay":@"FloorDisplay",
                 @"opDate":@"OpDate",
                 @"rentType":@"RentType",
                 @"rentPayType":@"RentPayType",
                 @"railWayInfos":@"RailWayInfos",
                 @"matchSchoolsName":@"MatchSchoolsName",
                 @"isHasDealData":@"IsHasDealData",
                 @"applianceInfo":@"ApplianceInfo",
                 @"postVideoUrl":@"PostVideoUrl",
                 @"paNo":@"PaNo",
                 };
    }];
}

@end

@implementation SaleEstateMJEntity

+ (NSDictionary *)mj_replacedKeyFromPropertyName {
    return @{
             @"resultNo" : @"ResultNo",
             @"total":@"Total",
             @"result":@"Result"
             };
}

+ (NSDictionary *)mj_objectClassInArray {
    
    return @{
             @"result" : @"SaleEstateMJResultEntity"
             };
}
@end

附录

DataSource.plist文件数据,请见附录

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,242评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,769评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,484评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,133评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,007评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,080评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,496评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,190评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,464评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,549评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,330评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,205评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,567评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,889评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,160评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,475评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,650评论 2 335

推荐阅读更多精彩内容