#reflection #json-schema #serialization #deserialize

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.

18 releases (8 breaking)

Uses new Rust 2024

new 0.23.8 May 16, 2025
0.22.0 May 7, 2025

#329 in Encoding

Download history 485/week @ 2025-04-24 174/week @ 2025-05-01 881/week @ 2025-05-08

1,540 downloads per month

MIT/Apache

425KB
9K 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

~515KB