20 releases (10 stable)

5.0.0 Apr 5, 2024
4.1.0 Nov 15, 2023
3.3.0 Oct 12, 2023
3.2.0 May 22, 2023
0.6.2 Nov 30, 2018

#35 in Command-line interface

Download history 2946/week @ 2024-01-01 3432/week @ 2024-01-08 3705/week @ 2024-01-15 3405/week @ 2024-01-22 4449/week @ 2024-01-29 3134/week @ 2024-02-05 3365/week @ 2024-02-12 4205/week @ 2024-02-19 4014/week @ 2024-02-26 3306/week @ 2024-03-04 3301/week @ 2024-03-11 3479/week @ 2024-03-18 4023/week @ 2024-03-25 4524/week @ 2024-04-01 3188/week @ 2024-04-08 3408/week @ 2024-04-15

15,411 downloads per month
Used in 74 crates (53 directly)

EPL-2.0 license

27KB
517 lines

Colored JSON output for Rust ci docs.rs Crates.io

Screenshot

Using

Add it to your project:

[dependencies]
colored_json = "4"

And then color your JSON output:

use colored_json::prelude::*;

fn main() -> ::std::result::Result<(), Box<::std::error::Error>> {
    println!(
        "{}",
        r#"
    {
        "array": [
            "ele1",
            "ele2"
        ],
        "float": 3.1415926,
        "integer": 4398798674962568,
        "string": "string"
    }
    "#.to_colored_json_auto()?
    );
    Ok(())
}

Or directly write it out:

use serde_json::{from_str, Value};
use std::io::stdout;
use std::io::Write;

pub fn main() -> ::std::result::Result<(), Box<::std::error::Error>> {
    let value: Value = from_str(r#"
        {
            "array": [
                "ele1",
                "ele2"
            ],
            "float": 3.1415926,
            "integer": 4398798674962568,
            "string": "string"
        }
    "#)?;
    let out = stdout();
    {
        let mut out = out.lock();
        colored_json::write_colored_json(&value, &mut out)?;
        out.flush()?;
    }
    Ok(())
}

Dependencies

~0.5–0.9MB
~18K SLoC