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

#51 in Command-line interface

Download history 5452/week @ 2024-08-13 5151/week @ 2024-08-20 4403/week @ 2024-08-27 5967/week @ 2024-09-03 5921/week @ 2024-09-10 8375/week @ 2024-09-17 7556/week @ 2024-09-24 8205/week @ 2024-10-01 8602/week @ 2024-10-08 7772/week @ 2024-10-15 7593/week @ 2024-10-22 6326/week @ 2024-10-29 6852/week @ 2024-11-05 6378/week @ 2024-11-12 7783/week @ 2024-11-19 5014/week @ 2024-11-26

26,949 downloads per month
Used in 85 crates (62 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–1MB
~21K SLoC