在移動網絡時代,json成爲了主流的數據交換格式。如何可以方便快捷的建立、轉化、傳遞json文件稱爲了開發者必備的技能。幸虧,咱們生活在開源時代,不少功能不須要咱們重現造輪子。今天我推薦一款開源json處理庫。 項目地址:https://github.com/icanzilb/JSONModel 我要實現class對象能夠輸出下列json:
其實直接編寫也很容易,不過採用對象的方式後期維護十分麻煩。於是我把上述json抽象成了class。以下
JSContentsModel.h
```git
JSONModel.h
RFIConModel.h
@interface JSContentsModel : JSONModelgithub
@property (strong, nonatomic) NSArray
@end
```
繼承了JSONModel後,JSContentsModel就能夠自由的轉化json了。其中的images就是對json中的images數組的抽象。下面,我將對數組內容進行抽象。
RFIconModel.h
```
@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]);