Trait JsonNew

Source
pub trait JsonNew: Json {
    // Required methods
    fn new(value: Value<Self>, metadata: Self::MetaData) -> Self;
    fn new_key(key: &str, metadata: Self::MetaData) -> Self::Key;

    // Provided methods
    fn null(metadata: Self::MetaData) -> Self { ... }
    fn boolean(b: bool, metadata: Self::MetaData) -> Self { ... }
    fn number(n: Self::Number, metadata: Self::MetaData) -> Self { ... }
    fn string(s: Self::String, metadata: Self::MetaData) -> Self { ... }
    fn array(a: Self::Array, metadata: Self::MetaData) -> Self { ... }
    fn empty_array(metadata: Self::MetaData) -> Self
       where Self::Array: Default { ... }
    fn object(o: Self::Object, metadata: Self::MetaData) -> Self { ... }
    fn empty_object(metadata: Self::MetaData) -> Self
       where Self::Object: Default { ... }
}
Expand description

Constructible JSON type.

Required Methods§

Source

fn new(value: Value<Self>, metadata: Self::MetaData) -> Self

Creates a new “meta value” from a Value and its associated metadata.

Source

fn new_key(key: &str, metadata: Self::MetaData) -> Self::Key

Creates a new object key.

Provided Methods§

Source

fn null(metadata: Self::MetaData) -> Self

Creates a new null value.

Source

fn boolean(b: bool, metadata: Self::MetaData) -> Self

Creates a new boolean value.

Source

fn number(n: Self::Number, metadata: Self::MetaData) -> Self

Creates a new number value.

Source

fn string(s: Self::String, metadata: Self::MetaData) -> Self

Creates a new string value.

Source

fn array(a: Self::Array, metadata: Self::MetaData) -> Self

Creates a new array value.

Source

fn empty_array(metadata: Self::MetaData) -> Self
where Self::Array: Default,

Creates a new empty object value.

Source

fn object(o: Self::Object, metadata: Self::MetaData) -> Self

Creates a new object value.

Source

fn empty_object(metadata: Self::MetaData) -> Self
where Self::Object: Default,

Creates a new empty object value.

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§