LYJsonToFile 可以根據JSON生成相應的Model文件。目前支持生成Objective-C、Swift和Java。
下載該項目并解壓,用瀏覽器打開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?; }
并且能夠下載生成的文件。
靜態(tài)圖

動態(tài)圖

支持語言
支持語言:Objective-C、Swift和Java。
注意:由于本人對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 | 創(chuàng)建信息 | 建議修改為自己的相關信息 |
注意事項
1.由于JavaScript里邊小數點后面為0的數字全部判斷為int,例如:填寫JSON為{“width” : 17.0},那么width字段會被判斷為int的類型;
2.日期不做處理,因為不明確JSON里邊字符什么格式為日期,也有可能是時間戳對應日期。
為其他語言創(chuàng)建配置
1.在language-config.js里邊添加相應語言的配置JSON。langueName改為該語言的名稱,各項配置也改為該語言的配置。
2.在creator文件夾里邊創(chuàng)建該語言的creator.js,里邊的內容模仿其他已寫好的語言即可。
3.修改json-parse.js里邊LYFileInfoMetaHandler里邊的兩個分發(fā)方法,修改LYCreateFileContentForAllClass里邊的分發(fā)方法。

4.修改index.html里邊的langues
langues: ['ObjectiveC', 'Swift', 'Java', '你添加的語言']

注意langues數組語言的順序要跟language-config.js里邊LanguesConfigArray數組順序對應。