JSON可视化工具 (Vue3实战项目)

1,669 阅读2分钟

JSON-Viewer(JSON可视化工具)

痛点分析

{
  "state": "Done",
  "createdDate": "Jan 6, 2023 5:23:36 PM",
  "finishedDate": "Jan 6, 2023 5:23:36 PM",
  "result": "{\"com.syscxp.header.hybd.cpe.APIQueryCpeArchitectureReply\":{\"inventories\":[{\"uuid\":\"vcpe-x86\",\"createDate\":\"Sep 20, 2022 5:41:41 PM\",\"lastOpDate\":\"Sep 20, 2022 5:41:41 PM\"},{\"uuid\":\"arm\",\"createDate\":\"Aug 25, 2022 6:57:14 PM\",\"lastOpDate\":\"Aug 25, 2022 6:57:14 PM\"},{\"uuid\":\"x86\",\"createDate\":\"Aug 25, 2022 6:57:14 PM\",\"lastOpDate\":\"Aug 25, 2022 6:57:14 PM\"}],\"total\":3,\"success\":true}}"
}

最近再与后端对接口过程中,后端返回的数据如上,主要数据在result对应的字符串中, 每次查看结构需要借助《FeHelper:JSON格式化》工具, 复制粘贴格式化两次才能看到想看的,这显然不太优雅!

需求分析

  1. 可以自定义经常要格式化的字段名,复制粘贴一次搞定
  2. 再搞个可视化数据结构查看,让网站看起来更酷酷的
  3. 拓展JSON相关功能:编辑、导入、导出、清空
  4. 拓展可视化相关功能:搜索、保存图片、放大缩小

技术选型:Vue 3 + Vite +TypeScript + Antv/G6 + Pinia +vue3-json-editor

技术实现

撸起袖子开干!

  1. 最后实现发现节点间距根据不同数据计算不好实现,实现了性能也不好, 干脆把这个配置开放给用户吧,就整了画布数据布局配置调整,用户可以根据自己数据选择布局和配置节点间距
  2. 最后发现既然要酷一点那暗黑主题切换不能少,然后就新增了3款骚气的主题!

实现功能:

  1. JSON编辑生成对应视图
  2. 布局配置调整更新视图
  3. 节点收起、展开
  4. 导入、导出JSON
  5. 指定额外解析字段
  6. 4种主题随意切换
  7. 视图节点聚焦搜索
  8. 视图导出为图片
  9. 点击节点查看节点详情
  10. 画布操作(放大/缩小/居中/全屏/退出全屏) (内含Github自动部署工作流)

预览地址:

Bilibili演示:Bilibili演示视频地址

Github Pages

Gitee Pages

源码分享

Github

Gitee

预览截图

image.png

灵感来源

JSON Crack: 一个丝滑且大气的React+TypeScript项目JSON可视化项目。