# JsonFormat **Repository Path**: yanftch/json-format ## Basic Information - **Project Name**: JsonFormat - **Description**: IDEA系列插件整合体 1.JSON转成JavaBean 2.JSON转成鸿蒙 .ets model 3.JavaBean转成 鸿蒙 .ets model - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 5 - **Forks**: 0 - **Created**: 2024-07-24 - **Last Updated**: 2025-05-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # JsonFormat ## 介绍 JSON数据操作一系列插件整合体,支持 `IDEA(含一系列开发者工具)、Android Studio、DevEco Studio` 等等 1.JSON转成JavaBean:将JSON数据转成JavaBean类 2.JSON转成鸿蒙 .ets model:将JSON数据转成鸿蒙 ets 文件 3.JavaBean转成 鸿蒙 .ets model:将已有的JavaBean类转成 鸿蒙 ets 文件 ## 版本更新记录 PS: plugin版本支持的IDEA、AS以及DevEco 的版本(本地引用验证正常运行) **特别注意:后缀带有 deveco 的插件版本,是单独针对 DevEco Studio 开发工具做到兼容版本,请勿在IDEA或者AS中使用。** **从 v1.0.6 版本开始,支持以上3种格式转换,也就是在IDEA、AS、DevEco 中都可以安装 1.0.6 的版本** | plugin版本 | IDEA版本 | DevEco 版本 | AS 版本 | 备注 | |:--------------|:------------|:----------|:-----------------------------------|---------------------------| | v1.0.2 | 2023.3.1 | 5.0.3.403 | Android Studio Jellyfish 2023.3.1 | | | v1.0.3 | 2023.3.1 | 5.0.3.403 | Android Studio Jellyfish 2023.3.1 | | | v1.0.4-deveco | 2023.3.1 | 5.0.3.501 | Android Studio Jellyfish 2023.3.1 | 已废弃 | | v1.0.5-deveco | 2023.3.1 | 5.0.3.502 | Android Studio Jellyfish 2023.3.1 | | | v1.0.6 | 2023.3.1 | 5.0.3.502 | Android Studio Jellyfish 2023.3.1 | | | v1.0.7 | 2023.3.1 | 5.0.3.502 | Android Studio Jellyfish 2023.3.1 | | | v1.0.8 | 2023.3.1 | 5.0.3.502 | Android Studio Jellyfish 2023.3.1 | | | v1.0.9 | 2023.3.1 | 5.0.3.502 | Android Studio Jellyfish 2023.3.1 | | | v1.1.0 | 2023.3.1 | 5.0.3.810 | Android Studio Jellyfish 2023.3.1 | | | - | - | - | | | ### v1.1.0 1.fix: 解析pop弹窗中格式化JSON(Format)按钮操作后丢失null值字段问题 2.fix: 生成ets 文件为 Class 的时候,如果字段值为null值时,默认类型声明为string ### v1.0.9 1.取消最高兼容版本限制 ### v1.0.8 1.修复list中,第一个Object字段不全,导致生成的model类缺失字段 2.部分BUG修复 ### v1.0.7 1.优化 group id 问题 2.ets文件格式化JSON的时候,将文件名默认为根对象的名字(eg: FileName为 User,则生成的数据类的根对象为 User) 3.json2ets 增加快捷键 Mac系统:control + u , win系统:ctrl + u 4.部分IDEA不兼容API适配修改 5.ets class 类型时,增加所有属性的默认值(string,number,boolean,object,[]) ### v1.0.6 1.同 1.0.5-deveco 版本功能 2.JSON转成JavaBean、JSON转成鸿蒙 .ets model、JavaBean转成 鸿蒙 .ets model 实现三合一 ### v1.0.5-deveco 1.包含 v1.0.3以及以下版本的功能 2.兼容DevEco Studio 5.0.3.500 以上的所有版本,支持 plugin marketplace 直接搜索下载 3.兼容DevEco Studio: 解决插件安装提示 Requires plugin 'com.intellij.modules.java' to be installed 问题 ### v1.0.4-deveco(已废弃) 1.包含 v1.0.3以及以下版本的功能 2.兼容DevEco Studio 5.0.3.500+ 版本 3.解决插件安装提示 Requires plugin 'com.intellij.modules.java' to be installed 问题 ### v1.0.3 1.生成 ets 文件时,弹窗提示选择是否生成 set()/get() 函数 2.pop通知文案调整 ### v1.0.2 1.移除测试Action,兼容 上述表格 v1.0.2 相关版本 ## 版本 ### 开发工具 基于IDEA开发此插件,IDEA使用版本如下 **IntelliJ IDEA 2023.3.1** ``` IntelliJ IDEA 2023.3.1 (Ultimate Edition) Build #IU-233.11799.300, built on December 12, 2023 Licensed to signup scooter You have a perpetual fallback license for this version. Subscription is active until August 1, 2025. Runtime version: 17.0.9+7-b1087.7 x86_64 VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o. macOS 12.7.4 GC: G1 Young Generation, G1 Old Generation Memory: 4096M Cores: 16 Registry: ide.browser.jcef.gpu.disable=true ide.experimental.ui=true Non-Bundled Plugins: com.gionchat.json.bean (1.0.5) DevKit (233.11799.300) org.freeone.javabean.tsinterface (0.0.12) Kotlin: 233.11799.300-IJ ``` ### 支持的开发工具版本 **如下版本的开发工具,采用本地安装使用,经验证,都可以正常使用。** #### IDEA ``` IntelliJ IDEA 2023.3.1 (Ultimate Edition) Build #IU-233.11799.300, built on December 12, 2023 Licensed to signup scooter You have a perpetual fallback license for this version. Subscription is active until August 1, 2025. Runtime version: 17.0.9+7-b1087.7 x86_64 VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o. macOS 12.7.4 GC: G1 Young Generation, G1 Old Generation Memory: 4096M Cores: 16 Registry: ide.browser.jcef.gpu.disable=true ide.experimental.ui=true Non-Bundled Plugins: com.gionchat.json.bean (1.0.5) DevKit (233.11799.300) org.freeone.javabean.tsinterface (0.0.12) Kotlin: 233.11799.300-IJ ``` #### Android Studio ``` Android Studio Jellyfish | 2023.3.1 Build #AI-233.14808.21.2331.11709847, built on April 13, 2024 Runtime version: 17.0.10+0-17.0.10b1087.21-11572160 x86_64 VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o. macOS 12.7.4 GC: G1 Young Generation, G1 Old Generation Memory: 8192M Cores: 16 Registry: ide.instant.shutdown=false ide.browser.jcef.gpu.disable=true ide.experimental.ui=true Non-Bundled Plugins: com.yanftch.JsonFormat (1.0-SNAPSHOT) com.alibabacloud.intellij.cosy (1.3.2) ``` #### DevEco Studio ``` DevEco Studio NEXT Developer Beta1 Build #DS-233.14475.28.36.503403 Build Version: 5.0.3.403, built on June 20, 2024 Runtime version: 17.0.10+1-b1087.17 x86_64 VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o. macOS 12.7.4 GC: G1 Young Generation, G1 Old Generation Memory: 1024M Cores: 16 Registry: ide.browser.jcef.gpu.disable=true ide.text.editor.with.preview.show.floating.toolbar=false idea.plugins.compatible.build=IC-233.14475.28 Non-Bundled Plugins: com.yanftch.BeanGenerate (1.0-SNAPSHOT) com.yanftch.JsonFormat (1.0-SNAPSHOT) ``` ## 如何安装 ### 1.插件仓库 Jetbrains 仓库地址: https://plugins.jetbrains.com/plugin/24930-jsonformat ` Settings/Preferences > Plugins > Marketplace > Search for "JsonFormat" > Install Plugin ` 目前 鸿蒙开发工具(DevEco Studio 可能从 Marketplace搜不到,搜不到的话可以采用 **本地jar安装** 的方式进行安装) ### 2.本地jar安装 ` Settings/Preferences > Plugins > Setting > Install plugin from Disk > 选中插件 -> 安装 ` ## 如何使用 ### 将JSON转成JavaBean类 1.Json2Bean:将JSON转成JavaBean类,手动新建一个类文件,如 User.java,然后调用 Generate ,选择 `Json2Bean` ,在弹出的输入框中粘贴对应的JSON,确认 即可在当前类中生成JavaBean ![输入图片说明](src/main/images/1.1.png) ![输入图片说明](src/main/images/1.2.png) ![输入图片说明](src/main/images/1.3.png) ![输入图片说明](src/main/images/1.4.png) ![输入图片说明](src/main/images/Json2Bean.gif) ### 将JSON转成鸿蒙ets类 2.Json2ets:将JSON转成鸿蒙ets类,手动新建一个类文件,如 User.ets,然后调用 `Generate` ,选择 `Json2ets`,在弹出的输入框中粘贴对应的JSON,确认 即可在当前类中生成 ets model文件 ![输入图片说明](src/main/images/2.1.png) ![输入图片说明](src/main/images/2.2.png) ![输入图片说明](src/main/images/2.3.png) ![输入图片说明](src/main/images/Json2ets.gif) ### 将JSON转成鸿蒙ets类 3.Json2etsFile:将JSON转成鸿蒙ets类,在指定目录上右键,选择 `Convert Json to Ets`, 在弹出的输入框中粘贴对应的JSON,填写ets文件的名字,确认 即可在当前类中生成 ets model文件 ### 将JavaBean类转成鸿蒙ets文件 4.JavaBean2ets:将JavaBean类转成鸿蒙ets文件,在指定的JavaBean文件(.java结尾的文件)上`右键`,弹出菜单中选择 `JavaBean2ets`, 然后在弹出的二级菜单中选择对应的操作:`保存到文件`、`复制到剪贴板`、`在编辑框中修改` 三种操作即可 ![输入图片说明](src/main/images/3.1.png) ![输入图片说明](src/main/images/3.2.png) ![输入图片说明](src/main/images/JavaBean2ets.gif) ![输入图片说明](src/main/images/JavaBean2ets2.gif) ## 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request ## 源码地址 https://gitee.com/yanftch/json-format