#json #builder #macro #builder-macro

json-builder-macro

A lightweight macro for generating JSON objects

3 releases

Uses new Rust 2024

0.0.3 Sep 19, 2025
0.0.2 Sep 19, 2025
0.0.1 Sep 1, 2025

#634 in Value formatting

Download history 16/week @ 2025-12-16 6/week @ 2025-12-23 3/week @ 2026-01-06 12/week @ 2026-01-27 12/week @ 2026-02-03

70 downloads per month

MIT license

9KB
224 lines

A simple macro for generating JSON

let object = json_builder_macro::json! {
    x: 78u32,
    y: 72.4f64,
    z: "thing"
};
assert_eq!(object, r#"{"x":78,"y":72.4,"z":"thing"}"#);

Also contains traits

let map = std::collections::HashMap::from_iter([("k1", "v1"), ("k2", "v2")]);
let out = &json_builder_macro::ToJSON::as_json_string(&map);
let valid = out == r#"{"k1":"v1","k2":"v2"}"# || out == r#"{"k2":"v2","k1":"v1"}"#;
assert!(valid);

and string JSON escaping

assert_eq!(&json_builder_macro::escape_json_string(r#"Hello "World""#), r#"Hello \"World\""#)

No runtime deps