乐于分享
好东西不私藏

几乎每个软件都能用得到!这里免费送了

几乎每个软件都能用得到!这里免费送了


“哥,帮帮我看一下这个配置文件,搞了一晚上还是报错!”

“我看看……嗯,你少写了一个逗号。”

“又少逗号?这破JSON也太难写了!”

相信很多程序员都经历过这种崩溃的时刻。JSON作为键值对的数据格式,几乎每个软件都在用,但手写起来太容易出错了。引号、逗号、大括号,一个不小心就报错。今天我来给大家介绍一个免费好用的工具,帮你彻底解决JSON编辑的痛点。

JSON是个什么鬼?


如果你没写过软件,总使用过软件吧!总见过软件里面各种配置项吧?以前Windows客户端软件喜欢用ini文件,但现在都是Web开发,几乎见不到ini的影子了。现在都使用JSON——一种轻量级的数据交换格式。

这玩意儿有多神奇?可以说几乎无处不在:

Web API交互:前后端数据交换都用JSON,打开浏览器的开发者工具,看看网络请求,清一色都是JSON格式。

配置文件:Visual Studio Code的settings.json,Node.js的package.json,几乎每个开发工具都用JSON做配置。

数据存储:MongoDB这些NoSQL数据库,用起来和JSON一模一样。

前端框架:React、Vue的状态管理,本质上都是在操作JSON数据。

微服务通信:服务之间消息传递,几乎都是JSON格式。

不管你用GitHub还是npm,都离不开JSON文件。但是有没有发现,这东西有太多问题了:

  1. 引号使用错误
  2. 缺少逗号或者多余逗号
  3. 字符串未加引号
  4. 数据类型错误
  5. 非法注释
  6. 混合数据类型
  7. 文件过大时可读性很差
  8. 空值或者缺少字段

总之,手写JSON就是一个字——烦!

我是怎么解决的


作为一个喜欢折腾的人,既然出现问题,那就造个工具解决它!

我开发了一个叫BlockCraft JSON的Vue3组件,通过类似Scratch积木块的方式,拖拖拽拽就能编辑JSON数据。先来看看效果:

像不像在玩拼图?每一个积木块代表一个字段,拖进去就有对应的输入框。不需要写任何JSON语法,只要拖进去,然后填上对应的值就行。

来看看怎么生成JSON数据:

是不是超级简单?拖积木块,实时生成JSON,所见即所得。

支持的类型也很丰富:

字符串、数字、日期、文本框、单选、多选、下拉框、数组、键值对,基本上覆盖了所有的常用数据类型。

还支持拖拽排序,调整字段位置变得轻而易举:

还能实时预览JSON内容:

积木块本身也是JSON格式,可以保存和加载配置:

除此以外还有好多功能,你可以在源代码中慢慢摸索。

快速上手


先把源代码中的components目录复制到你的Vue项目中,然后在你的界面里引用组件:

<template>  <BlockCraft    :block="blockConfig"    :theme="themeConfig"    :authority="authorityConfig"    v-model="formData"  /></template><script setup>import { BlockCraft } from 'blockcraftjson'const blockConfig = {  block: [    { key: 'name', name: '姓名', type: 'string' },    { key: 'age', name: '年龄', type: 'number' },    { key: 'sex', name: '性别', type: 'select', options: ['男', '女'] }  ]}const formData = ref({})</script>

这样就创建了一个简单的JSON编辑器。每一个积木块就是一个字段,字段类型有:string、number、select、date、textarea、checkbox、radio、array、keyvalue,基本上覆盖了所有常用类型。

适用场景


这个组件适用于以下场景:

后台管理系统:用于配置项、数据规则的编辑,告别手写JSON的痛苦。

表单生成器:快速生成数据录入表单,拖几个积木块就行。

数据可视化:将复杂的数据结构可视化展示,一目了然。

配置管理:软件配置项的可视化编辑,运维同学的福音。

总结


JSON虽好,但是手写容易出错这个问题,相信每个程序员都遇到过。这个组件通过积木块的方式,让JSON编辑变得像拼图一样简单有趣。

有时候解决问题就是这样——与其年年月月日日忍受同一个问题,不如花点时间一次性搞定它。工具的意义就在于释放我们的注意力,把时间花在更有价值的事情上。

希望这个组件能帮助大家解决JSON编辑的痛点。如果对你有帮助,请点个赞、转个发,码字不易,多谢支持!

完整源码已开源到GitHub,欢迎star、fork!

GitHub地址:https://github.com/LetShow/blockcraftjson


往期内容推荐

重要通知!以后学校里让打卡,就用这个

花了两天体验小龙虾版云电脑,说说我的使用感受

学习工具合集(1)——数学口算

学习工具合集(2)——语文字帖

点个喜欢吧

点赞

分享

收藏