开源中国 2018 年度最后一场技术盛会邀你来约~错过就要等明年啦!点此立即预约

zhangs3721 / ZZJsonToModelObjective-C

指数
0
Watch 3 Star 3 Fork 0
加入码云
与超过 300 万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
iOS自动生成Model(ZZJsonToModel兼容YYModel) 展开 收起

https://github.com/zhangs3721/ZZJsonToModel

zhangs3721 最后提交于 更新 README.md
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README.md

iOS自动生成Model(ZZJsonToModel/ZZMonster兼容YYModel)

纯代码编写,无需安装任何插件,一个方法轻松搞定复杂Json转Model。(兼容YYModel

示例:

json示例:

{
  "author" : {
    "bools" : true,
    "author" : {
      "authors" : {
        "author" : 19.100000000000001
      },
      "author" : "zzz"
    }
  },
  "pages" : 256,
  "book_name" : "Harry Potter",
  "book_info" : [
    {
      "one" : "this is one day"
    },
    {
      "one" : 10,
      "id" : "this is id"
    }
  ]
}

生成model图: 生成model图

注: 示例的json中,有几点特殊。

  • 1.重复的key值author
  • 2.特殊key值id
  • 3.数组book_info中的key值one的类型不同。
  • 4.类名后缀+Class

处理方法:

  • 1.重复的key值生成的类名,从第二个类起,类名前加一个Z
  • 2.属性名是系统保留字的,全部大写,因为大写不影响智能提示。
  • 3.如果数组中相同层级的key值类型不同,统一转化为字符串。
  • 4.项目不同.h文件中类名相同会引发报错,类名并不会污染数据,建议加上类名后缀。(随机字符串也可以)

使用ZZMonster概要

1.下载ZZJsonToModel并导入项目中。ZZMonster目录:

ZZMonster目录

2.导入头文件 #import "ZZWriter.h",调用此方法:

/*  调用方法
 *  FileName: 文件名
 *  ExtensionClassName: 为预防自动生成的类名重复。例Authors类后加后缀->AuthorsClass,不会污染数据。
 *  Json: 请求到的json,默认是(NSDictionary *)json。
 *  URL: 生成文件存放的路径。
 *  error: 生成文件发生错误
 */
+ (void)writeClassObjectsWithFileName:(NSString *)fileName withExtensionClassName:(NSString *)extensionName  withJson:(NSDictionary *)json toFileURL:(NSURL *)url error:(NSError **)error;

如图: 调用主方法

3.导入生成好的model文件:

导入生成好的model文件

4.引用.h #import "BaseModel.h"后,使用YYModel。

引用.h #import "BaseModel.h"后,使用YYModel

点评 ( 0 )

你可以在登录后,发表评论

搜索帮助