代码工具 - 根据JSON生成Model

作者: 觉醒的苍红之刃 | 来源:发表于2020-06-11 22:59 被阅读0次

    LYJsonToFile 可以根据JSON生成相应的Model文件。目前支持生成Objective-CSwiftJava

    立刻在线试一试

    下载该项目并解压,用浏览器打开index.html即可使用。

    项目地址

    示例

    例如能够根据JSON

     {"name" : "", "age" : 17}
    

    生成Swift内容

    //  LYModel.swift
    //  HLLL
    
    //  Created by LY on 2020/6/11.
    //  Copyright © 2020 LY. All rights reserved.
    //
    
    import UIKit
    
    class LYModel {
    
     var name: String = "";
     var age: Int?;
    
    } 
    

    并且能够下载生成的文件。

    静态图

    example-static.png

    动态图

    example.gif

    支持语言

    支持语言:Objective-CSwiftJava

    注意:由于本人对Java不是很熟悉,也许Java语法有误,可以联系我,或者自行修改。

    你也可以模仿示例为其他语言生成文件。

    使用说明

    下载该项目并解压,用浏览器打开index.html即可使用。

    1.选择对应语言;

    2.左侧输入框 输入正确格式的JSON;

    3.右侧各个输入框修改对应的Class名称;

    4.下载文件。

    注意事项:切换语言或者修改左侧输入JSON时,右侧的所有Class名称都会重置为默认。

    设置

    在language-config.js文件中修改对应语言的设置。

    不同语言的设置不尽相同。

    参数名称 参数说明 示例 是否能修改
    langueName 语言名称 不建议修改
    defaultParentClass 默认父类
    defaultImportText 默认的导入文件信息
    defaultParentClass 默认父类
    defineStartText Objective-C对Swift的宏,其他语言忽略
    defineEndText Objective-C对Swift的宏,其他语言忽略
    modelNameHeader 默认model名字的前边部分 例如设置为LY,那么默认生成的Class格式为LYXXXXX 建议修改为自己的相关信息
    modelNameFooter 默认model名字的后边部分 例如设置为Model,那么默认生成的Class格式为XXXXXModel 建议修改为自己的相关信息
    allCLassInOneFile 是否全部class在一个文件,部分语言不支持,例如Java
    showContainerGeneric 是否显示容器(数组、集合等)的泛型类型。是否支持看语言而定,例如Swift必须写泛型
    propertyKeywords 声明属性的关键词
    createdInfo 创建信息 建议修改为自己的相关信息

    注意事项

    1.由于JavaScript里边小数点后面为0的数字全部判断为int,例如:填写JSON为{“width” : 17.0},那么width字段会被判断为int的类型;

    2.日期不做处理,因为不明确JSON里边字符什么格式为日期,也有可能是时间戳对应日期。

    为其他语言创建配置

    1.在language-config.js里边添加相应语言的配置JSON。langueName改为该语言的名称,各项配置也改为该语言的配置。

    2.在creator文件夹里边创建该语言的creator.js,里边的内容模仿其他已写好的语言即可。

    3.修改json-parse.js里边LYFileInfoMetaHandler里边的两个分发方法,修改LYCreateFileContentForAllClass里边的分发方法。

    json-parse-modify.png

    4.修改index.html里边的langues

    langues: ['ObjectiveC', 'Swift', 'Java', '你添加的语言']

    index-html-modify.png

    注意langues数组语言的顺序要跟language-config.js里边LanguesConfigArray数组顺序对应。

    相关文章

      网友评论

        本文标题:代码工具 - 根据JSON生成Model

        本文链接:https://www.haomeiwen.com/subject/ihfwtktx.html