This Rust crate allows you to generate Rust types from JSON Schemas.
It attaches serde_json attributes to the structs for json serialization/deserialization.
use jsonschema_code_generator::generate;
use std::path::Path;
fn main() {
let rust_code = generate(&Path::new("schemas/draft-04.json"));
println!("{}", rust_code);
}
- Add support for draft 4 schemas
- Resolve definitions across files
- Resolve struct name collisions
- Add macro
- Merge
anyOf
andallOf
definitions to a single type - Add support for draft 7 schemas
- Add support for draft 2019-09 schemas
- Add support for draft 2020-12 schemas