在移动网络时代,json成为了主流的数据交换格式。如何能够方便快捷的创建、转化、传递json文件称为了开发者必备的技能。幸好,我们生活在开源时代,很多功能不需要我们重现造轮子。今天我推荐一款开源json处理库。
项目地址:https://github.com/icanzilb/JSONModel
我要实现class对象可以输出下列json:
其实直接编写也很容易,不过采用对象的方式后期维护十分麻烦。因而我把上述json抽象成了class。如下
JSContentsModel.h
```
import JSONModel.h
import RFIConModel.h
@interface JSContentsModel : JSONModel
@property (strong, nonatomic) NSArray * images;
@end
```
继承了JSONModel后,JSContentsModel就可以自由的转化json了。其中的images就是对json中的images数组的抽象。下面,我将对数组内容进行抽象。
RFIconModel
```
@protocol RFIConModel @end
@interface RFIConModel : JSONModel
@property(nonatomic,strong) NSString * filename;
@property(nonatomic) NSNumber * imageWidth;
@property(nonatomic)NSNumber * imageHeight;
@property(nonatomic)NSString * scale;
@property(nonatomic)NSString * comments;
@end
```
RFIconModel对象是对images数组内容的抽象。这样就完成了对json文件的全部工作。怎么样简单又快捷吧。
最后测试代码如下:
JSONModelArray * jImages=[[JSONModelArray alloc] initWithArray:images modelClass:[RFIConModel class]];
JSContentsModel * oneModel=[[JSContentsModel alloc] init];
oneModel.images=images;
NSLog(@"%@",[oneModel toJSONString]);