[] (https://travis-ci.org/tomjakubowski/json_macros)
Construct JSON objects in Rust from JSON-like literals.
Add to your Cargo.toml
:
[dependencies.json_macros]
git = "https://github.com/tomjakubowski/json_macros"
Or, from the registry:
[dependencies]
# ...
json_macros = "*"
You'll also need to link with the rustc-serialize
crate, where the Rust
JSON types live.
#![feature(plugin)]
#![plugin(json_macros)]
extern crate "rustc-serialize" as rustc_serialize;
pub fn main() {
let x = 123i32;
println!("{}", json!({ // object literal
"foo": "foooooo", // string literal keys and values
"bar": [true, null, 123, 123.4], // array, boolean, null, numeric literals
"quux": { // nest as deeply as you like
"a": [1, 2, 3, 4],
"b": { "a": null },
"c": false
},
"waldo": (192 - x) // wrap in parens to splice ToJson expressions directly
}).pretty().to_string());
}