将 JSON Schema 编译为符合 Rust 语法的类型
Typify 将 JSON Schema 文档编译为 Rust 类型。它可以用于以下一种情况: 有几种方法:
cargo typify 命令import_types!("types.json") 直接在 Rust 中生成类型
你的程序build.rs 或 xtask 中生成 Rust 类型如果生成失败,无法编译或结果很差:请提交问题,并包含 JSON Schema 和 Rust 输出(如果有)。使用 cargo typify 命令从命令行生成代码。如果您能明确说明理想的输出,会更有帮助。
JSON Schema 是一种用于验证的约束语言。因此,它不适合 - 而且通常看起来很不友好 - 翻译成建构类型系统。它允许以无数方式表达任意复杂度的表达式,以阐述给定的一组约束。因此,typify 尽可能地尝试找出适当的解释,但它远非完美!
整数、浮点数、字符串等都在 Rust 中有直观的表示。唯一的重要细节是如何根据类型属性选择合适的内置类型。例如,JSON 方案可能指定一个最大值和/或最小值,以指示应使用的适当整数类型。
JSON 结构的数组可以根据结构属性转换为三种 Rust 类型之一: Vec, HashSet 和元组。数组可能具有固定长度,与固定的项目类型列表相匹配;这可以通过 Rust 元组很好地表示。Vec 和 HashSet 之间的区别仅在于,如果结构的 uniqueItems 字段为 `fal
暂无开放 Issues,或尚未同步最近议题。