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

#32 in Command-line interface

Download history 3777/week @ 2024-01-25 3520/week @ 2024-02-01 3250/week @ 2024-02-08 3842/week @ 2024-02-15 4231/week @ 2024-02-22 3799/week @ 2024-02-29 3343/week @ 2024-03-07 3176/week @ 2024-03-14 4377/week @ 2024-03-21 3622/week @ 2024-03-28 3877/week @ 2024-04-04 3577/week @ 2024-04-11 3904/week @ 2024-04-18 5323/week @ 2024-04-25 4369/week @ 2024-05-02 3540/week @ 2024-05-09

17,860 downloads per month
Used in 76 crates (55 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