百科.dev
全部条目在线工具AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
T

typify

> 编程语言
开源

将 JSON Schema 编译为符合 Rust 语法的类型

880 stars0 点赞2 次浏览
访问官网GitHub

工具介绍

将 JSON Schema 编译为符合 Rust 语法的类型

Typify

Typify 将 JSON Schema 文档编译为 Rust 类型。它可以用于以下一种情况: 有几种方法:

  • 使用 cargo typify 命令
  • 通过宏 import_types!("types.json") 直接在 Rust 中生成类型 你的程序
  • 通过构建器接口在 build.rs 或 xtask 中生成 Rust 类型
  • 通过构建器函数生成持久文件,例如在构建时 API 绑定

如果生成失败,无法编译或结果很差:请提交问题,并包含 JSON Schema 和 Rust 输出(如果有)。使用 cargo typify 命令从命令行生成代码。如果您能明确说明理想的输出,会更有帮助。

JSON Schema 是一种用于验证的约束语言。因此,它不适合 - 而且通常看起来很不友好 - 翻译成建构类型系统。它允许以无数方式表达任意复杂度的表达式,以阐述给定的一组约束。因此,typify 尽可能地尝试找出适当的解释,但它远非完美!

整数、浮点数、字符串等都在 Rust 中有直观的表示。唯一的重要细节是如何根据类型属性选择合适的内置类型。例如,JSON 方案可能指定一个最大值和/或最小值,以指示应使用的适当整数类型。

JSON 结构的数组可以根据结构属性转换为三种 Rust 类型之一: Vec, HashSet 和元组。数组可能具有固定长度,与固定的项目类型列表相匹配;这可以通过 Rust 元组很好地表示。Vec 和 HashSet 之间的区别仅在于,如果结构的 uniqueItems 字段为 `fal

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

Rust

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言