代碼工具 - 根據(jù)JSON生成Model

LYJsonToFile 可以根據(jù)JSON生成相應(yīng)的Model文件。目前支持生成Objective-C、SwiftJava

立刻在線試一試

下載該項(xiàng)目并解壓,用瀏覽器打開index.html即可使用。

項(xiàng)目地址

示例

例如能夠根據(jù)JSON

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

生成Swift內(nèi)容

//  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?;

} 

并且能夠下載生成的文件。

靜態(tài)圖

example-static.png

動(dòng)態(tài)圖

example.gif

支持語(yǔ)言

支持語(yǔ)言:Objective-C、SwiftJava。

注意:由于本人對(duì)Java不是很熟悉,也許Java語(yǔ)法有誤,可以聯(lián)系我,或者自行修改。

你也可以模仿示例為其他語(yǔ)言生成文件。

使用說(shuō)明

下載該項(xiàng)目并解壓,用瀏覽器打開index.html即可使用。

1.選擇對(duì)應(yīng)語(yǔ)言;

2.左側(cè)輸入框 輸入正確格式的JSON;

3.右側(cè)各個(gè)輸入框修改對(duì)應(yīng)的Class名稱;

4.下載文件。

注意事項(xiàng):切換語(yǔ)言或者修改左側(cè)輸入JSON時(shí),右側(cè)的所有Class名稱都會(huì)重置為默認(rèn)。

設(shè)置

在language-config.js文件中修改對(duì)應(yīng)語(yǔ)言的設(shè)置。

不同語(yǔ)言的設(shè)置不盡相同。

參數(shù)名稱 參數(shù)說(shuō)明 示例 是否能修改
langueName 語(yǔ)言名稱 不建議修改
defaultParentClass 默認(rèn)父類
defaultImportText 默認(rèn)的導(dǎo)入文件信息
defaultParentClass 默認(rèn)父類
defineStartText Objective-C對(duì)Swift的宏,其他語(yǔ)言忽略
defineEndText Objective-C對(duì)Swift的宏,其他語(yǔ)言忽略
modelNameHeader 默認(rèn)model名字的前邊部分 例如設(shè)置為L(zhǎng)Y,那么默認(rèn)生成的Class格式為L(zhǎng)YXXXXX 建議修改為自己的相關(guān)信息
modelNameFooter 默認(rèn)model名字的后邊部分 例如設(shè)置為Model,那么默認(rèn)生成的Class格式為XXXXXModel 建議修改為自己的相關(guān)信息
allCLassInOneFile 是否全部class在一個(gè)文件,部分語(yǔ)言不支持,例如Java
showContainerGeneric 是否顯示容器(數(shù)組、集合等)的泛型類型。是否支持看語(yǔ)言而定,例如Swift必須寫泛型
propertyKeywords 聲明屬性的關(guān)鍵詞
createdInfo 創(chuàng)建信息 建議修改為自己的相關(guān)信息

注意事項(xiàng)

1.由于JavaScript里邊小數(shù)點(diǎn)后面為0的數(shù)字全部判斷為int,例如:填寫JSON為{“width” : 17.0},那么width字段會(huì)被判斷為int的類型;

2.日期不做處理,因?yàn)椴幻鞔_JSON里邊字符什么格式為日期,也有可能是時(shí)間戳對(duì)應(yīng)日期。

為其他語(yǔ)言創(chuàng)建配置

1.在language-config.js里邊添加相應(yīng)語(yǔ)言的配置JSON。langueName改為該語(yǔ)言的名稱,各項(xiàng)配置也改為該語(yǔ)言的配置。

2.在creator文件夾里邊創(chuàng)建該語(yǔ)言的creator.js,里邊的內(nèi)容模仿其他已寫好的語(yǔ)言即可。

3.修改json-parse.js里邊LYFileInfoMetaHandler里邊的兩個(gè)分發(fā)方法,修改LYCreateFileContentForAllClass里邊的分發(fā)方法。

json-parse-modify.png

4.修改index.html里邊的langues

langues: ['ObjectiveC', 'Swift', 'Java', '你添加的語(yǔ)言']

index-html-modify.png

注意langues數(shù)組語(yǔ)言的順序要跟language-config.js里邊LanguesConfigArray數(shù)組順序?qū)?yīng)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容