npm generate-schema库去掉默认的required

最近一段时间在使用json-schema对接口响应的json数据做校验。找到了一个开源的项目 json-schema-editor-virual。

项目中可以将原始json数据,一键生成schema,通过源码发现这一功能是通过generate-schema 这个库来实现的,generate-schema的github:https://github.com/Nijikokun/generate-schema npm下载地址:https://www.npmjs.com/package/generate-schema

这个库可以用来生成json、mysql、clickhourse等schema。但是实现都相对简单,对于json to schema这个功能上,在实际使用中发现了一个比较鸡肋的功能:

生成的schema,默认会把json数据中的每个属性加上required,而且没有相关配置可以禁止这一个行为。于是查看源码,进行修改:

npm generate-schema库去掉默认的required

打开json.js源码,搜索required,找到了104行,将这一行注释掉即可。然后重新webpack打包 json-schema-editor-virual项目,即可解决默认json数组属性被标记成required问题了。