6 releases (2 stable)
2.0.0 | Jun 29, 2021 |
---|---|
1.0.0 | Jun 29, 2021 |
0.2.1 | Jun 28, 2021 |
0.1.1 | May 21, 2021 |
#1332 in Procedural macros
54 downloads per month
Used in webthings-gateway-ipc-typ…
79KB
2K
SLoC
jsonschema_code_generator
This Rust crate allows you to generate Rust types from JSON Schemas.
It attaches serde_json attributes to the structs for json serialization/deserialization.
Example
use jsonschema_code_generator::generate;
use std::path::Path;
fn main() {
let rust_code = generate(&Path::new("schemas/draft-04.json"));
println!("{}", rust_code);
}
Todo
- 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
Dependencies
~0.8–1.7MB
~35K SLoC