[−][src]Crate colored_json
colored_json crate to output colored serde json with ANSI terminal escape codes
Note for Windows 10 users: On Windows 10, the application must enable ANSI support first:
#[cfg(windows)] let enabled = colored_json::enable_ansi_support();
Examples
For everything, which implements AsRef<str>
extern crate colored_json; use colored_json::prelude::*; println!( "{}", r#"{ "array": [ "ele1", "ele2" ], "float": 3.1415926, "integer": 4398798674962568, "string": "string" } "#.to_colored_json_auto()? );
or for serde_json::Value
use serde_json::{json, Value}; use colored_json::to_colored_json_auto; let val : Value = json!({ "name": "John Doe", "age": 43, "phones": [ "+44 1234567", "+44 2345678" ] }); let s = to_colored_json_auto(&val)?; println!("{}", s);
With a custom color style:
extern crate colored_json; use colored_json::prelude::*; use colored_json::{Color, Styler}; println!( "{}", r#"{ "array": [ "ele1", "ele2" ], "float": 3.1415926, "integer": 4398798674962568, "string": "string" } "#.to_colored_json_with_styler( ColorMode::default().eval(), Styler { key: Color::Green.normal(), string_value: Color::Blue.bold(), integer_value: Color::Purple.bold(), float_value: Color::Purple.italic(), object_brackets: Color::Yellow.bold(), array_brackets: Color::Cyan.bold(), ..Default::default() })? ); Ok(())
use serde_json::json; use colored_json::{ColoredFormatter, CompactFormatter, Color, Styler, Style}; let f = ColoredFormatter::with_styler( CompactFormatter {}, Styler { key: Color::Green.normal(), string_value: Color::Blue.bold(), ..Default::default() }, ); println!( "{}", f.clone().to_colored_json_auto(&json!({ "name": "John Doe", "age": 43, "phones": [ "+44 1234567", "+44 2345678" ] }))? ); println!( "{}", f.to_colored_json_auto(&json!({ "name":"John", "age":31, "city":"New York" }))? );
Modules
prelude |
Structs
ColoredFormatter |
|
CompactFormatter | This structure compacts a JSON value with no extra whitespace. |
PrettyFormatter | This structure pretty prints a JSON value to make it human readable. |
Style | A style is a collection of properties that can format a string using ANSI escape codes. |
Styler | Styler lets you define the look of the colored json output |
Enums
Color | A colour is one specific type of ANSI escape code, and can refer to either the foreground or background colour. |
ColorMode | ColorMode is a switch to enforce color mode, turn it off or auto-detect, if it should be used |
Colour | A colour is one specific type of ANSI escape code, and can refer to either the foreground or background colour. |
Output | Specify the output sink, which should be used for the auto detection |
Traits
ToColoredJson | Trait to add json coloring for all |
Functions
to_colored_json | |
to_colored_json_auto | Serialize the given data structure as a pretty-color-printed String of JSON. |
write_colored_json | Serialize the given data structure as pretty-color-printed JSON into the IO stream. |
write_colored_json_with_mode |