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

打印 上一主题 下一主题

主题 555|帖子 555|积分 1665

前言导读

信任大家在学习鸿蒙开发过程中最痛楚的就是编写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安装

打开DevEco studio 找到setting 内里 plugins

点击设置然后点击 Install Plugin from Disk

然后找到我们的在电脑磁盘上面的路径 选择我们下载的插件.jar

然后点击ok举行安装

安装好了以后我们需要Restart IDE 重启我们的 IDE
假如使用插件



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

  1. `{
  2. "msg": "获取数据成功",
  3. "code": 200
  4. }` </pre>
复制代码
我们可以 鼠标右键选择 Generate 然后选择我们的 Json2ets 也可以直接快捷键按住我们的 alr + instert 键直接唤醒我们的 Json2ets


我们输入的我们json字符串 然后输入类名建议类名和文件名一样 然后选择class或者我们的interface 即可


  1. `export class User {
  2. msg?: string;
  3. code?: number;
  4. }` </pre>
复制代码
2 含有嵌套的 json

  1. `{
  2. "msg": "获取数据成功",
  3. "code": 200,
  4. "data":{
  5. "username":"高桥凉介","password":"123456"
  6. }
  7. }` </pre>
复制代码

天生model效果
  1. `export class User2 {
  2. msg?: string;
  3. code?: number;
  4. data?: User2Data;
  5. }
  6. export class User2Data {
  7. username?: string;
  8. password?: string;
  9. }` </pre>
复制代码
3含有列表的json

来看看数据结构
  1. `{
  2. "msg": "获取数据成功",
  3. "code": 200,
  4. "data": [
  5. {
  6. "id": 12,
  7. "name": "资深安卓工程师",
  8. "cname": "今日头条",
  9. "size": "D轮",
  10. "salary": "40K-60K",
  11. "username": "Kimi",
  12. "title": "HR",
  13. "page": "0"
  14. },
  15. {
  16. "id": 13,
  17. "name": "移动端架构师",
  18. "cname": "银汉游戏",
  19. "size": "B轮",
  20. "salary": "15K-20K",
  21. "username": "刘丽",
  22. "title": "人事主管",
  23. "page": "0"
  24. },
  25. {
  26. "id": 14,
  27. "name": "Java工程师",
  28. "cname": "37互娱",
  29. "size": "D轮",
  30. "salary": "25K-30K",
  31. "username": "Reiki",
  32. "title": "HR-M",
  33. "page": "0"
  34. },
  35. {
  36. "id": 16,
  37. "name": "iOS工程师",
  38. "cname": "银汉游戏科技公司",
  39. "size": "D轮",
  40. "salary": "15K-20K",
  41. "username": "马小玲",
  42. "title": "Java程序员",
  43. "page": "0"
  44. },
  45. {
  46. "id": 17,
  47. "name": "java工程师",
  48. "cname": "4399游戏科技有限公司",
  49. "size": "C轮",
  50. "salary": "15K-20k",
  51. "username": "马小玲",
  52. "title": "HR-M",
  53. "page": "0"
  54. }
  55. ]
  56. }` </pre>
复制代码

含有列表的json天生的model

  1. `export class User3 {
  2. msg?: string;
  3. code?: number;
  4. data?: User3Data[];
  5. }
  6. export class User3Data {
  7. id?: number;
  8. name?: string;
  9. cname?: string;
  10. size?: string;
  11. salary?: string;
  12. username?: string;
  13. title?: string;
  14. page?: string;
  15. }`</pre>
复制代码
写在末了

**●假如你觉得这篇内容对你还蛮有帮助,我想邀请你帮我三个小忙:
●点赞,转发,有你们的 『点赞和批评』,才是我创造的动力。
●关注小编,同时可以期待后续文章ing

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

种地

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表