Trait Formatter
pub 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>(&mut self, writer: &mut W) -> Result<()> where W: ?Sized + Write,Writes a
nullvalue to the specified writer.fn write_bool<W>(&mut self, writer: &mut W, value: bool) -> Result<()> where W: ?Sized + Write,Writes a
trueorfalsevalue to the specified writer.fn write_i8<W>(&mut self, writer: &mut W, value: i8) -> Result<()> where W: ?Sized + Write,Writes an integer value like
-123to the specified writer.fn write_i16<W>(&mut self, writer: &mut W, value: i16) -> Result<()> where W: ?Sized + Write,Writes an integer value like
-123to the specified writer.fn write_i32<W>(&mut self, writer: &mut W, value: i32) -> Result<()> where W: ?Sized + Write,Writes an integer value like
-123to the specified writer.fn write_i64<W>(&mut self, writer: &mut W, value: i64) -> Result<()> where W: ?Sized + Write,Writes an integer value like
-123to the specified writer.fn write_i128<W>(&mut self, writer: &mut W, value: i128) -> Result<()> where W: ?Sized + Write,Writes an integer value like
-123to the specified writer.fn write_u8<W>(&mut self, writer: &mut W, value: u8) -> Result<()> where W: ?Sized + Write,Writes an integer value like
123to the specified writer.fn write_u16<W>(&mut self, writer: &mut W, value: u16) -> Result<()> where W: ?Sized + Write,Writes an integer value like
123to the specified writer.fn write_u32<W>(&mut self, writer: &mut W, value: u32) -> Result<()> where W: ?Sized + Write,Writes an integer value like
123to the specified writer.fn write_u64<W>(&mut self, writer: &mut W, value: u64) -> Result<()> where W: ?Sized + Write,Writes an integer value like
123to the specified writer.fn write_u128<W>(&mut self, writer: &mut W, value: u128) -> Result<()> where W: ?Sized + Write,Writes an integer value like
123to the specified writer.fn write_f32<W>(&mut self, writer: &mut W, value: f32) -> Result<()> where W: ?Sized + Write,Writes a floating point value like
-31.26e+12to 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_finiteyourself before calling this function, or checkis_nanandis_infiniteand handle those cases yourself with a differentFormattermethod.fn write_f64<W>(&mut self, writer: &mut W, value: f64) -> Result<()> where W: ?Sized + Write,Writes a floating point value like
-31.26e+12to 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_finiteyourself before calling this function, or checkis_nanandis_infiniteand handle those cases yourself with a differentFormattermethod.fn write_number_str<W>(&mut self, writer: &mut W, value: &str) -> Result<()> where W: ?Sized + Write,Writes a number that has already been rendered to a string.
fn begin_string<W>(&mut self, writer: &mut W) -> Result<()> where W: ?Sized + Write,Called before each series of
write_string_fragmentandwrite_char_escape. Writes a"to the specified writer.fn end_string<W>(&mut self, writer: &mut W) -> Result<()> where W: ?Sized + Write,Called after each series of
write_string_fragmentandwrite_char_escape. Writes a"to the specified writer.fn write_string_fragment<W>(&mut self, writer: &mut W, fragment: &str) -> Result<()> where W: ?Sized + Write,Writes a string fragment that doesn't need any escaping to the specified writer.
fn write_char_escape<W>(&mut self, writer: &mut W, char_escape: CharEscape) -> Result<()> where W: ?Sized + Write,Writes a character escape code to the specified writer.
fn write_byte_array<W>(&mut self, writer: &mut W, value: &[u8]) -> Result<()> where W: ?Sized + 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>(&mut self, writer: &mut W) -> Result<()> where W: ?Sized + Write,Called before every array. Writes a
[to the specified writer.fn end_array<W>(&mut self, writer: &mut W) -> Result<()> where W: ?Sized + Write,Called after every array. Writes a
]to the specified writer.fn begin_array_value<W>(&mut self, writer: &mut W, first: bool) -> Result<()> where W: ?Sized + Write,Called before every array value. Writes a
,if needed to the specified writer.fn end_array_value<W>(&mut self, _writer: &mut W) -> Result<()> where W: ?Sized + Write,Called after every array value.
fn begin_object<W>(&mut self, writer: &mut W) -> Result<()> where W: ?Sized + Write,Called before every object. Writes a
{to the specified writer.fn end_object<W>(&mut self, writer: &mut W) -> Result<()> where W: ?Sized + Write,Called after every object. Writes a
}to the specified writer.fn begin_object_key<W>(&mut self, writer: &mut W, first: bool) -> Result<()> where W: ?Sized + Write,Called before every object key.
fn end_object_key<W>(&mut self, _writer: &mut W) -> Result<()> where W: ?Sized + Write,Called after every object key. A
:should be written to the specified writer by either this method orbegin_object_value.fn begin_object_value<W>(&mut self, writer: &mut W) -> Result<()> where W: ?Sized + Write,Called before every object value. A
:should be written to the specified writer by either this method orend_object_key.fn end_object_value<W>(&mut self, _writer: &mut W) -> Result<()> where W: ?Sized + Write,Called after every object value.
fn write_raw_fragment<W>(&mut self, writer: &mut W, fragment: &str) -> Result<()> where W: ?Sized + Write,Writes a raw JSON fragment that doesn't need any escaping to the specified writer.
Implementors
impl Formatter for CompactFormatterimpl<'a> Formatter for PrettyFormatter<'a>