Trait ToJson

Source
pub trait ToJson: Serialize {
    // Provided methods
    fn to_json_file<P: AsRef<Path>>(&self, path: P) -> Result<()> { ... }
    fn to_json_writer<W: Write>(&self, writer: W) -> Result<()> { ... }
    fn to_json_writer_pretty<W: Write>(&self, writer: W) -> Result<()> { ... }
    fn to_json_string(&self) -> Result<String> { ... }
    fn to_json_string_pretty(&self) -> Result<String> { ... }
}
Expand description

This trait allows to convert serializable values to JSON objects.

§Examples

extern crate serde;
#[macro_use]
extern crate serde_derive;
extern crate serdeconv;

use serdeconv::ToJson;

// Defines a serializable struct.
#[derive(Serialize)]
struct Foo {
    bar: &'static str,
    baz: usize
}
impl ToJson for Foo {}

// Converts the `Foo` value to a JSON string.
let foo = Foo { bar: "aaa", baz: 123 };
let json = foo.to_json_string().unwrap();
assert_eq!(json, r#"{"bar":"aaa","baz":123}"#);

Provided Methods§

Source

fn to_json_file<P: AsRef<Path>>(&self, path: P) -> Result<()>

Converts this to a JSON string and writes it to the speficied file.

Source

fn to_json_writer<W: Write>(&self, writer: W) -> Result<()>

Converts this to a JSON string and writes it to the writer.

Source

fn to_json_writer_pretty<W: Write>(&self, writer: W) -> Result<()>

Converts this to a pretty printed JSON string and writes it to the writer.

Source

fn to_json_string(&self) -> Result<String>

Converts this to a JSON string.

Source

fn to_json_string_pretty(&self) -> Result<String>

Converts this to a pretty printed JSON string.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§