10月20日,北京【人工智能】源创会火热报名中,点击报名收获 AI 训练指南
Watch Star Fork

zhangs3721 / ZZJsonToModelObjective-C

Sign up for free
Explore and code with more than 2 million developers,Free private repositories !:)
Sign up
iOS自动生成Model(ZZJsonToModel兼容YYModel) https://github.com/zhangs3721/ZZJsonToModel
Cancel
Notice: Creating folder will generate an empty file .keep, because not support in Git
Loading...
README.md 2.86 KB

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

Comments ( 0 )

You need to Sign in for post a comment

Help Search