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

#44 in Command-line interface

Download history 3997/week @ 2024-04-03 3353/week @ 2024-04-10 3811/week @ 2024-04-17 5316/week @ 2024-04-24 4408/week @ 2024-05-01 4390/week @ 2024-05-08 4711/week @ 2024-05-15 5089/week @ 2024-05-22 6303/week @ 2024-05-29 5398/week @ 2024-06-05 5063/week @ 2024-06-12 6119/week @ 2024-06-19 5558/week @ 2024-06-26 5415/week @ 2024-07-03 5328/week @ 2024-07-10 4711/week @ 2024-07-17

21,953 downloads per month
Used in 78 crates (56 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.4–0.8MB
~18K SLoC