JSON转换JavaBean、HarmonyOS ets 文件

2,361 阅读5分钟

JsonFormat

**推个广,小子我正在副业的道路上越走越远,24×365躺赚的业务爽的不亦乐乎,如果有感兴趣的大佬,可以私我**

**近期打算搞一个新的IDE插件,便于开发,感兴趣的各位大佬,可以斯沃,组团一起搞,不管有无经验都行哈**

2025年01月15日:更新提醒:

如果使用的是DevEco Studio 5.0.1 Release 以及以上的版本,请下载 本插件的 2.x 版本,否则可能会出现无法适配的问题。

**鉴于插件开发过程中,采用了部分Java代码逻辑,但是DevEco Studio对于Java虚拟机兼容有问题,所以会提示不兼容!但是不耽误使用,可以尝试下载到本地后,采用离线安装的方式进行安装**

**友情提醒:如果访问插件地址 提示不兼容 DevEco Studio,可以将插件下载到电脑上,选择离线安装!**

**友情提醒:如果访问插件地址 提示不兼容 DevEco Studio,可以将插件下载到电脑上,选择离线安装!**

**友情提醒:如果访问插件地址 提示不兼容 DevEco Studio,可以将插件下载到电脑上,选择离线安装!**

介绍

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 开发工具做到兼容版本,可以在DevEco Studio 中下载使用,请勿在IDEA或者AS中使用。

从 v1.0.6 版本开始,支持以上3种格式转换,也就是在IDEA、AS、DevEco 中都可以安装 1.0.6 的版本

plugin版本IDEA版本DevEco 版本AS 版本备注
v1.0.22023.3.15.0.3.403Android Studio Jellyfish 2023.3.1
v1.0.32023.3.15.0.3.403Android Studio Jellyfish 2023.3.1
v1.0.4-deveco2023.3.15.0.3.501Android Studio Jellyfish 2023.3.1已废弃
v1.0.5-deveco2023.3.15.0.3.502Android Studio Jellyfish 2023.3.1
v1.0.62023.3.15.0.3.502Android Studio Jellyfish 2023.3.1
v1.0.72023.3.15.0.3.502Android Studio Jellyfish 2023.3.1
v1.0.82023.3.15.0.3.502Android Studio Jellyfish 2023.3.1
v2.0.2-ds2023.3.15.0.2 ReleaseAndroid Studio Jellyfish 2023.3.1
---

v2.0.2-ds

1.兼容最新版本的DevEco Studio 5.0.2-Release版本,生成类型选择Class的时候无法准确生成内容的惊天BUG

v1.0.8

1.修复list中,第一个Object字段不全,导致生成的model类缺失字段

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 以及以上的版本

3.解决插件安装提示 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)

DevEco Studio NEXT Developer Beta2
Build #DS-233.14475.28.36.503501
Build Version: 5.0.3.501, built on July 26, 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

如何安装

1.插件仓库

Jetbrains 仓库地址:

plugins.jetbrains.com/plugin/2493…

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

1.1.png

1.2.png

1.3.png

1.4.png

Json2Bean.gif

将JSON转成鸿蒙ets类

2.Json2ets:将JSON转成鸿蒙ets类,手动新建一个类文件,如 User.ets,然后调用 Generate ,选择 Json2ets,在弹出的输入框中粘贴对应的JSON,确认 即可在当前类中生成 ets model文件

2.1.png

2.2.png

2.3.png

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, 然后在弹出的二级菜单中选择对应的操作:保存到文件复制到剪贴板在编辑框中修改 三种操作即可

3.1.png

3.2.png

JavaBean2ets.gif

JavaBean2ets2.gif

参与贡献

  1. Fork 本仓库
  2. 新建 Feat_xxx 分支
  3. 提交代码
  4. 新建 Pull Request

联系我

V: qiuyanfeng2012