zoukankan      html  css  js  c++  java
  • Mac iOS Json 操作Model to JSON

    在移动网络时代,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]);
    
    
  • 相关阅读:
    26 转义符 re模块 方法 random模块 collection模块的Counter方法
    25 正则表达式
    24 from 模块 import 名字
    24 from 模块 import 名字
    24 from 模块 import 名字
    23 析构方法 items系列 hash方法 eq方法
    21 isinstance issubclass 反射 _str_ _new_ _len_ _call_
    20 属性, 类方法, 静态方法. python2与python3的区别.
    python(1)
    python之字符串格式化
  • 原文地址:https://www.cnblogs.com/springday/p/4807143.html
Copyright © 2011-2022 走看看