一、仿yapi实现json schema编辑
如图,在线编辑或导入json,并在json-schema编辑器中展示和编辑
这里有现成的插件,就没自己实现,我理解的大概实现原理,是一个树结构,然后根据类型去做一些细化的判断,比如说object的才可以有子节点等。
上面的是一个普通的json编辑器,这个网上很多插件。下面的是schema的编辑器,我用的是vue版本的,
json-schema-editor
这个编辑器,基本可以满足使用,但是我有个需要回显的功能,回显时不可以编辑,这个插件没有一些可以设定disadble状态的属性,所以我使用了css的pointer-events: none;通过样式来控制一下,但有个问题是,这个属性的鼠标的手势的权重较高,是cursor:pointer;但是我想要的是cursor: not-allowed,所以,产品和码农的悲欢并不相通,不过幸运的是,这是一个内部使用的工具,干不过技术的时候,就只好去干产品咯。后续有时间再去研究更好用的插件或者自己开发吧。
二、说一说这个json如何适应schema编辑器吧
1、json-schema的格式如下(请自行搜索规范格式)