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

#50 in Command-line interface

Download history 5697/week @ 2024-07-29 4956/week @ 2024-08-05 5393/week @ 2024-08-12 5363/week @ 2024-08-19 4251/week @ 2024-08-26 5348/week @ 2024-09-02 6035/week @ 2024-09-09 8377/week @ 2024-09-16 7780/week @ 2024-09-23 7814/week @ 2024-09-30 9021/week @ 2024-10-07 7582/week @ 2024-10-14 7261/week @ 2024-10-21 6953/week @ 2024-10-28 6738/week @ 2024-11-04 6272/week @ 2024-11-11

27,993 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