json-builder-macro

Crates.iojson-builder-macro
lib.rsjson-builder-macro
version0.0.3
created_at2025-09-01 12:03:31.806499+00
updated_at2025-09-19 14:13:10.957361+00
descriptionA lightweight macro for generating JSON objects
homepage
repositoryhttps://github.com/kaleidawave/experiments
max_upload_size
id1819474
size8,893
Ben (kaleidawave)

documentation

https://docs.rs/json-builder-macro

README

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\""#)
Commit count: 1

cargo fmt