#json-schema #codegen #schemafy

macro bin schemafy

Generates serializeable Rust types from a json schema

17 releases

0.6.0 Oct 6, 2021
0.5.2 May 18, 2021
0.5.1 Jul 12, 2020
0.5.0 Jul 7, 2019
0.1.1 Nov 27, 2016

#1675 in Parser implementations

Download history 14988/week @ 2024-12-15 4354/week @ 2024-12-22 4981/week @ 2024-12-29 10179/week @ 2025-01-05 12629/week @ 2025-01-12 13691/week @ 2025-01-19 14057/week @ 2025-01-26 16392/week @ 2025-02-02 16012/week @ 2025-02-09 12661/week @ 2025-02-16 13837/week @ 2025-02-23 11792/week @ 2025-03-02 16016/week @ 2025-03-09 14182/week @ 2025-03-16 13248/week @ 2025-03-23 12245/week @ 2025-03-30

56,574 downloads per month
Used in 15 crates (5 directly)

MIT license

110KB
1.5K SLoC

schemafy

Build Status Docs

This is a Rust crate which can take a JSON schema (draft 4) and generate Rust types which are serializable with serde. No checking such as min_value are done but instead only the structure of the schema is followed as closely as possible.

As a schema could be arbitrarily complex this crate makes no guarantee that it can generate good types or even any types at all for a given schema but the crate does manage to bootstrap itself which is kind of cool.

Example

Generated types for VS Codes debug server protocol: https://docs.rs/debugserver-types

Development

The types generated by the JSON schema specification can be regenerated with cargo build --features internal-regenerate if changes have been made in the library itself. Rustfmt is required so that src/schema.rs is readable.

Dependencies

~1.2–2MB
~41K SLoC