#reflection #json-schema #deserialize #serialization

facet-jsonschema

Generate JSON Schema from Facet types. Provides a to_string function to get a JSON Schema representation as a string. Useful for reflection, introspection, serialization, and deserialization.

5 releases (3 breaking)

Uses new Rust 2024

new 0.18.1 Apr 26, 2025
0.18.0 Apr 26, 2025
0.17.0 Apr 26, 2025
0.16.0 Apr 25, 2025
0.15.0 Apr 25, 2025

#1711 in Development tools

Download history 91/week @ 2025-04-19

95 downloads per month

MIT/Apache

510KB
10K SLoC

Facet logo - a reflection library for Rust

Coverage Status free of syn crates.io documentation MIT/Apache-2.0 licensed

Logo by Misiasart

Thanks to all individual and corporate sponsors, without whom this work could not exist:

Ko-fi GitHub Sponsors Patreon Zed Depot

JSON Schema generation for Facet

This module provides functionality to generate JSON Schema from Facet types.

The main function is to_string, which takes a Facet type and returns its JSON Schema representation as a string.

Example

use facet_jsonschema::to_string;
use facet::Facet;

#[derive(Facet)]
struct TestStruct {
    /// String field
    string_field: String,
    /// Integer field
    int_field: u32,
}

let schema = to_string::<TestStruct>();
println!("JSON Schema: {schema}");

License

Licensed under either of:

at your option.

Dependencies

~610KB
~11K SLoC