种地 发表于 2024-9-14 06:25:17

HarmonyOS实战开发-鸿蒙版本JsonFormat详解

前言导读

信任大家在学习鸿蒙开发过程中最痛楚的就是编写model 类 特别是那种复杂的json的时候对不对, 这时候有一个自动化的插件给你天生
model是不是很开心。我们今天要分享的就是这个插件 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 开发工具做到兼容版本,可以在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.1v1.0.32023.3.15.0.3.403Android Studio Jellyfish 2023.3.1v1.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支持DevEco marketplace 直接下载v1.0.62023.3.15.0.3.502Android Studio Jellyfish 2023.3.1支持DevEco marketplace 直接下载--- 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 相关版本
插件安装

目前鸿蒙的ide 是无法直接搜索安装的 可以当地下载jar安装
https://img-blog.csdnimg.cn/img_convert/6d54e50753a15b8998c23089cb912c62.webp?x-oss-process=image/format,png
打开DevEco studio 找到setting 内里 plugins
https://img-blog.csdnimg.cn/img_convert/7d0d6a972af83acf48badaa03b3662e1.webp?x-oss-process=image/format,png
点击设置然后点击 Install Plugin from Disk
https://img-blog.csdnimg.cn/img_convert/fab4135bd1033bcfd2278787cc5ffa93.webp?x-oss-process=image/format,png
然后找到我们的在电脑磁盘上面的路径 选择我们下载的插件.jar
https://img-blog.csdnimg.cn/img_convert/2a7d9ae37110fe75a479416f80293684.webp?x-oss-process=image/format,png
然后点击ok举行安装
https://img-blog.csdnimg.cn/img_convert/9f07f97131b1440bbc07289efc23167e.webp?x-oss-process=image/format,png
安装好了以后我们需要Restart IDE 重启我们的 IDE
假如使用插件



[*] 将json转成鸿蒙ets
将json转成鸿蒙ets 我们手动创建一个User.ets的类 然后调用 Generate 选择 Json2ets 在弹窗框内里粘贴对应的json即可
然后确认就可以天生我们的对应的 ets model 了
1简朴的json

`{
"msg": "获取数据成功",
"code": 200
}` </pre>
我们可以 鼠标右键选择 Generate 然后选择我们的 Json2ets 也可以直接快捷键按住我们的 alr + instert 键直接唤醒我们的 Json2ets
https://img-blog.csdnimg.cn/img_convert/1a4d514d82823c793e09e19d931b29ae.webp?x-oss-process=image/format,png
https://img-blog.csdnimg.cn/img_convert/113941ad7d2fed8a64c179928d708cd2.webp?x-oss-process=image/format,png
我们输入的我们json字符串 然后输入类名建议类名和文件名一样 然后选择class或者我们的interface 即可
https://img-blog.csdnimg.cn/img_convert/6d849ae875370486584fa8908161f47a.webp?x-oss-process=image/format,png
https://img-blog.csdnimg.cn/img_convert/6bea4aa98d6f1a01395be88d0b658fdb.webp?x-oss-process=image/format,png
`export class User {
msg?: string;
code?: number;
}` </pre>
2 含有嵌套的 json


`{
"msg": "获取数据成功",
"code": 200,
"data":{
"username":"高桥凉介","password":"123456"
}
}` </pre>
https://img-blog.csdnimg.cn/img_convert/9bd5a167c2fd8a56960857637c6a9f74.webp?x-oss-process=image/format,png
天生model效果
`export class User2 {
msg?: string;
code?: number;
data?: User2Data;
}
export class User2Data {
username?: string;
password?: string;
}` </pre>
3含有列表的json

来看看数据结构

`{
"msg": "获取数据成功",
"code": 200,
"data": [
{
"id": 12,
"name": "资深安卓工程师",
"cname": "今日头条",
"size": "D轮",
"salary": "40K-60K",
"username": "Kimi",
"title": "HR",
"page": "0"
},
{
"id": 13,
"name": "移动端架构师",
"cname": "银汉游戏",
"size": "B轮",
"salary": "15K-20K",
"username": "刘丽",
"title": "人事主管",
"page": "0"
},
{
"id": 14,
"name": "Java工程师",
"cname": "37互娱",
"size": "D轮",
"salary": "25K-30K",
"username": "Reiki",
"title": "HR-M",
"page": "0"
},
{
"id": 16,
"name": "iOS工程师",
"cname": "银汉游戏科技公司",
"size": "D轮",
"salary": "15K-20K",
"username": "马小玲",
"title": "Java程序员",
"page": "0"
},
{
"id": 17,
"name": "java工程师",
"cname": "4399游戏科技有限公司",
"size": "C轮",
"salary": "15K-20k",
"username": "马小玲",
"title": "HR-M",
"page": "0"
}
]
}` </pre>
https://img-blog.csdnimg.cn/img_convert/a7634c7e00b3bde0ffa74ec6dc6e811e.webp?x-oss-process=image/format,png
含有列表的json天生的model


`export class User3 {
msg?: string;
code?: number;
data?: User3Data[];
}
export class User3Data {
id?: number;
name?: string;
cname?: string;
size?: string;
salary?: string;
username?: string;
title?: string;
page?: string;
}`</pre>
写在末了

**●假如你觉得这篇内容对你还蛮有帮助,我想邀请你帮我三个小忙:
●点赞,转发,有你们的 『点赞和批评』,才是我创造的动力。
●关注小编,同时可以期待后续文章ing
页: [1]
查看完整版本: HarmonyOS实战开发-鸿蒙版本JsonFormat详解