推荐使用:Json-Schema-to-Zod - JSON Schema到Zod的转换利器
json-schema-to-zod项目地址:https://gitcode.com/gh_mirrors/js/json-schema-to-zod
如果你在寻找一个能够将JSON Schema高效地转化为Zod对象的工具,那么Json-Schema-to-Zod无疑是一个值得尝试的优秀开源项目。这款项目不仅提供了命令行工具,还有在线转换器以及编程接口,为开发者提供了一站式的解决方案。
项目介绍
Json-Schema-to-Zod是一款运行时包和CLI工具,它支持将JSON Schema(草案4+)对象或文件转换成Zod模式,形式上表现为JavaScript代码。从v2版本开始,CLI工具还支持通过管道传递JSON数据。
项目技术分析
该工具以前依赖于prettier
进行格式化,利用json-refs
处理引用,现在则更改为直接处理管道输入。程序逻辑清晰,使用方便,能够应对各种复杂的JSON Schema结构。它允许你在转换过程中自定义最大递归深度,以防止过于复杂导致的问题。
应用场景
Json-Schema-to-Zod适用于多种场景:
- 数据验证:如果你正在使用Zod进行数据验证,但已有的JSON Schema需要转换,这个工具可以帮你快速完成。
- API文档构建:在自动构建API文档时,将JSON Schema转换为Zod可以帮助解析和呈现更友好的类型信息。
- TypeScript项目:在TypeScript项目中,这个工具可帮助你生成与JSON Schema对应的TypeScript类型定义。
项目特点
- 在线转换:提供在线转换页面,无需安装即可试用。
- 命令行工具:支持简单快捷的命令行操作,如简单的文件转换和引用解析。
- 编程接口:可以集成到你的应用或脚本中,自由定制转换过程。
- 自定义深度:可以根据需要设置递归深度限制,灵活应对复杂结构。
- 模版选择:支持ESM、CJS和无模块语法,满足不同场景需求。
例如,你可以使用以下命令将JSON Schema文件转换为Zod模式并保存至指定文件:
json-schema-to-zod -i mySchema.json -o mySchema.ts
或者结合json-refs
和prettier
处理引用并格式化输出:
json-refs resolve mySchema.json | json-schema-to-zod | prettier --parser typescript > mySchema.ts
总的来说,Json-Schema-to-Zod是一个强大的工具,能帮助你无缝对接JSON Schema和Zod,提升开发效率。无论你是新手还是经验丰富的开发者,都值得将其纳入你的工具箱。
json-schema-to-zod项目地址:https://gitcode.com/gh_mirrors/js/json-schema-to-zod