Trait Formatter

trait Formatter

This trait abstracts away serializing the JSON control characters, which allows the user to optionally pretty print the JSON output.

Provided Methods

fn write_null<W>(self: &mut Self, writer: &mut W) -> io::Result<()>
where
    W: ?Sized + io::Write

Writes a null value to the specified writer.

fn write_bool<W>(self: &mut Self, writer: &mut W, value: bool) -> io::Result<()>
where
    W: ?Sized + io::Write

Writes a true or false value to the specified writer.

fn write_i8<W>(self: &mut Self, writer: &mut W, value: i8) -> io::Result<()>
where
    W: ?Sized + io::Write

Writes an integer value like -123 to the specified writer.

fn write_i16<W>(self: &mut Self, writer: &mut W, value: i16) -> io::Result<()>
where
    W: ?Sized + io::Write

Writes an integer value like -123 to the specified writer.

fn write_i32<W>(self: &mut Self, writer: &mut W, value: i32) -> io::Result<()>
where
    W: ?Sized + io::Write

Writes an integer value like -123 to the specified writer.

fn write_i64<W>(self: &mut Self, writer: &mut W, value: i64) -> io::Result<()>
where
    W: ?Sized + io::Write

Writes an integer value like -123 to the specified writer.

fn write_i128<W>(self: &mut Self, writer: &mut W, value: i128) -> io::Result<()>
where
    W: ?Sized + io::Write

Writes an integer value like -123 to the specified writer.

fn write_u8<W>(self: &mut Self, writer: &mut W, value: u8) -> io::Result<()>
where
    W: ?Sized + io::Write

Writes an integer value like 123 to the specified writer.

fn write_u16<W>(self: &mut Self, writer: &mut W, value: u16) -> io::Result<()>
where
    W: ?Sized + io::Write

Writes an integer value like 123 to the specified writer.

fn write_u32<W>(self: &mut Self, writer: &mut W, value: u32) -> io::Result<()>
where
    W: ?Sized + io::Write

Writes an integer value like 123 to the specified writer.

fn write_u64<W>(self: &mut Self, writer: &mut W, value: u64) -> io::Result<()>
where
    W: ?Sized + io::Write

Writes an integer value like 123 to the specified writer.

fn write_u128<W>(self: &mut Self, writer: &mut W, value: u128) -> io::Result<()>
where
    W: ?Sized + io::Write

Writes an integer value like 123 to the specified writer.

fn write_f32<W>(self: &mut Self, writer: &mut W, value: f32) -> io::Result<()>
where
    W: ?Sized + io::Write

Writes a floating point value like -31.26e+12 to the specified writer.

Special cases

This function does not check for NaN or infinity. If the input number is not a finite float, the printed representation will be some correctly formatted but unspecified numerical value.

Please check is_finite yourself before calling this function, or check is_nan and is_infinite and handle those cases yourself with a different Formatter method.

fn write_f64<W>(self: &mut Self, writer: &mut W, value: f64) -> io::Result<()>
where
    W: ?Sized + io::Write

Writes a floating point value like -31.26e+12 to the specified writer.

Special cases

This function does not check for NaN or infinity. If the input number is not a finite float, the printed representation will be some correctly formatted but unspecified numerical value.

Please check is_finite yourself before calling this function, or check is_nan and is_infinite and handle those cases yourself with a different Formatter method.

fn write_number_str<W>(self: &mut Self, writer: &mut W, value: &str) -> io::Result<()>
where
    W: ?Sized + io::Write

Writes a number that has already been rendered to a string.

fn begin_string<W>(self: &mut Self, writer: &mut W) -> io::Result<()>
where
    W: ?Sized + io::Write

Called before each series of write_string_fragment and write_char_escape. Writes a " to the specified writer.

fn end_string<W>(self: &mut Self, writer: &mut W) -> io::Result<()>
where
    W: ?Sized + io::Write

Called after each series of write_string_fragment and write_char_escape. Writes a " to the specified writer.

fn write_string_fragment<W>(self: &mut Self, writer: &mut W, fragment: &str) -> io::Result<()>
where
    W: ?Sized + io::Write

Writes a string fragment that doesn't need any escaping to the specified writer.

fn write_char_escape<W>(self: &mut Self, writer: &mut W, char_escape: CharEscape) -> io::Result<()>
where
    W: ?Sized + io::Write

Writes a character escape code to the specified writer.

fn write_byte_array<W>(self: &mut Self, writer: &mut W, value: &[u8]) -> io::Result<()>
where
    W: ?Sized + io::Write

Writes the representation of a byte array. Formatters can choose whether to represent bytes as a JSON array of integers (the default), or some JSON string encoding like hex or base64.

fn begin_array<W>(self: &mut Self, writer: &mut W) -> io::Result<()>
where
    W: ?Sized + io::Write

Called before every array. Writes a [ to the specified writer.

fn end_array<W>(self: &mut Self, writer: &mut W) -> io::Result<()>
where
    W: ?Sized + io::Write

Called after every array. Writes a ] to the specified writer.

fn begin_array_value<W>(self: &mut Self, writer: &mut W, first: bool) -> io::Result<()>
where
    W: ?Sized + io::Write

Called before every array value. Writes a , if needed to the specified writer.

fn end_array_value<W>(self: &mut Self, _writer: &mut W) -> io::Result<()>
where
    W: ?Sized + io::Write

Called after every array value.

fn begin_object<W>(self: &mut Self, writer: &mut W) -> io::Result<()>
where
    W: ?Sized + io::Write

Called before every object. Writes a { to the specified writer.

fn end_object<W>(self: &mut Self, writer: &mut W) -> io::Result<()>
where
    W: ?Sized + io::Write

Called after every object. Writes a } to the specified writer.

fn begin_object_key<W>(self: &mut Self, writer: &mut W, first: bool) -> io::Result<()>
where
    W: ?Sized + io::Write

Called before every object key.

fn end_object_key<W>(self: &mut Self, _writer: &mut W) -> io::Result<()>
where
    W: ?Sized + io::Write

Called after every object key. A : should be written to the specified writer by either this method or begin_object_value.

fn begin_object_value<W>(self: &mut Self, writer: &mut W) -> io::Result<()>
where
    W: ?Sized + io::Write

Called before every object value. A : should be written to the specified writer by either this method or end_object_key.

fn end_object_value<W>(self: &mut Self, _writer: &mut W) -> io::Result<()>
where
    W: ?Sized + io::Write

Called after every object value.

fn write_raw_fragment<W>(self: &mut Self, writer: &mut W, fragment: &str) -> io::Result<()>
where
    W: ?Sized + io::Write

Writes a raw JSON fragment that doesn't need any escaping to the specified writer.

Implementors