#json-schema #schema #json #generator #generate-json #code

jsonschema_code_generator

用于从JSON模式生成Rust类型的Crate

6个版本 (2个稳定版)

2.0.0 2021年6月29日
1.0.0 2021年6月29日
0.2.1 2021年6月28日
0.1.1 2021年5月21日

过程宏中排名第1125

每月下载量34
webthings-gateway-ipc-typ…中使用

MPL-2.0 许可证

79KB
2K SLoC

jsonschema_code_generator

Build Status Latest Version Docs

此Rust crate 允许您从 JSON Schemas 中生成Rust类型。

它为结构体附加 serde_json 属性,以进行json序列化/反序列化。

示例

use jsonschema_code_generator::generate;
use std::path::Path;

fn main() {
    let rust_code = generate(&Path::new("schemas/draft-04.json"));
    println!("{}", rust_code);
}

待办事项

  • 添加对draft 4模式的支持
  • 解析跨文件的定义
  • 解析结构名称冲突
  • 添加宏
  • anyOfallOf 定义合并为单个类型
  • 添加对draft 7模式的支持
  • 添加对draft 2019-09模式的支持
  • 添加对draft 2020-12模式的支持

依赖关系

~0.7–1.4MB
~32K SLoC