pzol / json_macros

Construct JSON objects in Rust from JSON-like literals.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

json_macros

Crates.io [Build Status] (https://travis-ci.org/tomjakubowski/json_macros)

Construct JSON objects in Rust from JSON-like literals.

Dependency

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.

Example

#![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());
}

About

Construct JSON objects in Rust from JSON-like literals.

License:MIT License


Languages

Language:Rust 100.0%