pub enum Value<'value> {
Static(StaticNode),
String(Cow<'value, str>),
Array(Box<Vec<Value<'value>>>),
Object(Box<Object<'value>>),
}
Expand description
Borrowed JSON-DOM Value, consider using the ValueTrait
to access its content
Variants§
Static(StaticNode)
Static values
String(Cow<'value, str>)
string type
Array(Box<Vec<Value<'value>>>)
array type
Object(Box<Object<'value>>)
object type
Implementations§
source§impl<'value> Value<'value>
impl<'value> Value<'value>
sourcepub fn into_static(self) -> Value<'static>
pub fn into_static(self) -> Value<'static>
Enforces static lifetime on a borrowed value, this will force all strings to become owned COW’s, the same applies for Object keys.
sourcepub fn clone_static(&self) -> Value<'static>
pub fn clone_static(&self) -> Value<'static>
Clones the current value and enforces a static lifetime, it works the same
as into_static
but includes cloning logic
Trait Implementations§
source§impl<'de> Deserialize<'de> for Value<'de>
impl<'de> Deserialize<'de> for Value<'de>
source§fn deserialize<D>(deserializer: D) -> Result<Value<'de>, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Value<'de>, D::Error>where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl<'de> Deserializer<'de> for &'de Value<'de>
impl<'de> Deserializer<'de> for &'de Value<'de>
source§type Error = Error
type Error = Error
The error type that can be returned if some error occurs during
deserialization.
source§fn deserialize_any<V>(self, visitor: V) -> Result<V::Value, Error>where
V: Visitor<'de>,
fn deserialize_any<V>(self, visitor: V) -> Result<V::Value, Error>where
V: Visitor<'de>,
Require the
Deserializer
to figure out how to drive the visitor based
on what data type is in the input. Read moresource§fn deserialize_option<V>(self, visitor: V) -> Result<V::Value, Error>where
V: Visitor<'de>,
fn deserialize_option<V>(self, visitor: V) -> Result<V::Value, Error>where
V: Visitor<'de>,
Hint that the
Deserialize
type is expecting an optional value. Read moresource§fn deserialize_newtype_struct<V>(
self,
_name: &'static str,
visitor: V,
) -> Result<V::Value, Error>where
V: Visitor<'de>,
fn deserialize_newtype_struct<V>(
self,
_name: &'static str,
visitor: V,
) -> Result<V::Value, Error>where
V: Visitor<'de>,
Hint that the
Deserialize
type is expecting a newtype struct with a
particular name.source§fn deserialize_struct<V>(
self,
_name: &'static str,
_fields: &'static [&'static str],
visitor: V,
) -> Result<V::Value, Error>where
V: Visitor<'de>,
fn deserialize_struct<V>(
self,
_name: &'static str,
_fields: &'static [&'static str],
visitor: V,
) -> Result<V::Value, Error>where
V: Visitor<'de>,
Hint that the
Deserialize
type is expecting a struct with a particular
name and fields.source§fn deserialize_enum<V>(
self,
_name: &str,
_variants: &'static [&'static str],
visitor: V,
) -> Result<V::Value, Error>where
V: Visitor<'de>,
fn deserialize_enum<V>(
self,
_name: &str,
_variants: &'static [&'static str],
visitor: V,
) -> Result<V::Value, Error>where
V: Visitor<'de>,
Hint that the
Deserialize
type is expecting an enum value with a
particular name and possible variants.source§fn deserialize_bool<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
fn deserialize_bool<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
Hint that the
Deserialize
type is expecting a bool
value.source§fn deserialize_i8<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
fn deserialize_i8<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
Hint that the
Deserialize
type is expecting an i8
value.source§fn deserialize_i16<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
fn deserialize_i16<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
Hint that the
Deserialize
type is expecting an i16
value.source§fn deserialize_i32<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
fn deserialize_i32<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
Hint that the
Deserialize
type is expecting an i32
value.source§fn deserialize_i64<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
fn deserialize_i64<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
Hint that the
Deserialize
type is expecting an i64
value.source§fn deserialize_i128<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
fn deserialize_i128<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
source§fn deserialize_u8<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
fn deserialize_u8<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
Hint that the
Deserialize
type is expecting a u8
value.source§fn deserialize_u16<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
fn deserialize_u16<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
Hint that the
Deserialize
type is expecting a u16
value.source§fn deserialize_u32<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
fn deserialize_u32<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
Hint that the
Deserialize
type is expecting a u32
value.source§fn deserialize_u64<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
fn deserialize_u64<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
Hint that the
Deserialize
type is expecting a u64
value.source§fn deserialize_u128<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
fn deserialize_u128<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
source§fn deserialize_f32<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
fn deserialize_f32<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
Hint that the
Deserialize
type is expecting a f32
value.source§fn deserialize_f64<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
fn deserialize_f64<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
Hint that the
Deserialize
type is expecting a f64
value.source§fn deserialize_char<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
fn deserialize_char<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
Hint that the
Deserialize
type is expecting a char
value.source§fn deserialize_str<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
fn deserialize_str<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
Hint that the
Deserialize
type is expecting a string value and does
not benefit from taking ownership of buffered data owned by the
Deserializer
. Read moresource§fn deserialize_string<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
fn deserialize_string<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
Hint that the
Deserialize
type is expecting a string value and would
benefit from taking ownership of buffered data owned by the
Deserializer
. Read moresource§fn deserialize_bytes<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
fn deserialize_bytes<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
Hint that the
Deserialize
type is expecting a byte array and does not
benefit from taking ownership of buffered data owned by the
Deserializer
. Read moresource§fn deserialize_byte_buf<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
fn deserialize_byte_buf<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
Hint that the
Deserialize
type is expecting a byte array and would
benefit from taking ownership of buffered data owned by the
Deserializer
. Read moresource§fn deserialize_unit<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
fn deserialize_unit<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
Hint that the
Deserialize
type is expecting a unit value.source§fn deserialize_unit_struct<V>(
self,
name: &'static str,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
fn deserialize_unit_struct<V>(
self,
name: &'static str,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
Hint that the
Deserialize
type is expecting a unit struct with a
particular name.source§fn deserialize_seq<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
fn deserialize_seq<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
Hint that the
Deserialize
type is expecting a sequence of values.source§fn deserialize_tuple<V>(
self,
len: usize,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
fn deserialize_tuple<V>(
self,
len: usize,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
Hint that the
Deserialize
type is expecting a sequence of values and
knows how many values there are without looking at the serialized data.source§fn deserialize_tuple_struct<V>(
self,
name: &'static str,
len: usize,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
fn deserialize_tuple_struct<V>(
self,
name: &'static str,
len: usize,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
Hint that the
Deserialize
type is expecting a tuple struct with a
particular name and number of fields.source§fn deserialize_map<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
fn deserialize_map<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
Hint that the
Deserialize
type is expecting a map of key-value pairs.source§fn deserialize_identifier<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
fn deserialize_identifier<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
Hint that the
Deserialize
type is expecting the name of a struct
field or the discriminant of an enum variant.source§fn deserialize_ignored_any<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
fn deserialize_ignored_any<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
Hint that the
Deserialize
type needs to deserialize a value whose type
doesn’t matter because it is ignored. Read moresource§fn is_human_readable(&self) -> bool
fn is_human_readable(&self) -> bool
Determine whether
Deserialize
implementations should expect to
deserialize their human-readable form. Read moresource§impl<'de> Deserializer<'de> for Value<'de>
impl<'de> Deserializer<'de> for Value<'de>
source§type Error = Error
type Error = Error
The error type that can be returned if some error occurs during
deserialization.
source§fn deserialize_any<V>(self, visitor: V) -> Result<V::Value, Error>where
V: Visitor<'de>,
fn deserialize_any<V>(self, visitor: V) -> Result<V::Value, Error>where
V: Visitor<'de>,
Require the
Deserializer
to figure out how to drive the visitor based
on what data type is in the input. Read moresource§fn deserialize_option<V>(self, visitor: V) -> Result<V::Value, Error>where
V: Visitor<'de>,
fn deserialize_option<V>(self, visitor: V) -> Result<V::Value, Error>where
V: Visitor<'de>,
Hint that the
Deserialize
type is expecting an optional value. Read moresource§fn deserialize_enum<V>(
self,
_name: &str,
_variants: &'static [&'static str],
visitor: V,
) -> Result<V::Value, Error>where
V: Visitor<'de>,
fn deserialize_enum<V>(
self,
_name: &str,
_variants: &'static [&'static str],
visitor: V,
) -> Result<V::Value, Error>where
V: Visitor<'de>,
Hint that the
Deserialize
type is expecting an enum value with a
particular name and possible variants.source§fn deserialize_newtype_struct<V>(
self,
_name: &'static str,
visitor: V,
) -> Result<V::Value, Error>where
V: Visitor<'de>,
fn deserialize_newtype_struct<V>(
self,
_name: &'static str,
visitor: V,
) -> Result<V::Value, Error>where
V: Visitor<'de>,
Hint that the
Deserialize
type is expecting a newtype struct with a
particular name.source§fn deserialize_struct<V>(
self,
_name: &'static str,
_fields: &'static [&'static str],
visitor: V,
) -> Result<V::Value, Error>where
V: Visitor<'de>,
fn deserialize_struct<V>(
self,
_name: &'static str,
_fields: &'static [&'static str],
visitor: V,
) -> Result<V::Value, Error>where
V: Visitor<'de>,
Hint that the
Deserialize
type is expecting a struct with a particular
name and fields.source§fn deserialize_bool<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
fn deserialize_bool<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
Hint that the
Deserialize
type is expecting a bool
value.source§fn deserialize_i8<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
fn deserialize_i8<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
Hint that the
Deserialize
type is expecting an i8
value.source§fn deserialize_i16<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
fn deserialize_i16<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
Hint that the
Deserialize
type is expecting an i16
value.source§fn deserialize_i32<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
fn deserialize_i32<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
Hint that the
Deserialize
type is expecting an i32
value.source§fn deserialize_i64<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
fn deserialize_i64<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
Hint that the
Deserialize
type is expecting an i64
value.source§fn deserialize_i128<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
fn deserialize_i128<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
source§fn deserialize_u8<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
fn deserialize_u8<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
Hint that the
Deserialize
type is expecting a u8
value.source§fn deserialize_u16<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
fn deserialize_u16<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
Hint that the
Deserialize
type is expecting a u16
value.source§fn deserialize_u32<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
fn deserialize_u32<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
Hint that the
Deserialize
type is expecting a u32
value.source§fn deserialize_u64<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
fn deserialize_u64<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
Hint that the
Deserialize
type is expecting a u64
value.source§fn deserialize_u128<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
fn deserialize_u128<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
source§fn deserialize_f32<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
fn deserialize_f32<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
Hint that the
Deserialize
type is expecting a f32
value.source§fn deserialize_f64<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
fn deserialize_f64<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
Hint that the
Deserialize
type is expecting a f64
value.source§fn deserialize_char<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
fn deserialize_char<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
Hint that the
Deserialize
type is expecting a char
value.source§fn deserialize_str<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
fn deserialize_str<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
Hint that the
Deserialize
type is expecting a string value and does
not benefit from taking ownership of buffered data owned by the
Deserializer
. Read moresource§fn deserialize_string<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
fn deserialize_string<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
Hint that the
Deserialize
type is expecting a string value and would
benefit from taking ownership of buffered data owned by the
Deserializer
. Read moresource§fn deserialize_bytes<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
fn deserialize_bytes<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
Hint that the
Deserialize
type is expecting a byte array and does not
benefit from taking ownership of buffered data owned by the
Deserializer
. Read moresource§fn deserialize_byte_buf<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
fn deserialize_byte_buf<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
Hint that the
Deserialize
type is expecting a byte array and would
benefit from taking ownership of buffered data owned by the
Deserializer
. Read moresource§fn deserialize_unit<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
fn deserialize_unit<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
Hint that the
Deserialize
type is expecting a unit value.source§fn deserialize_unit_struct<V>(
self,
name: &'static str,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
fn deserialize_unit_struct<V>(
self,
name: &'static str,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
Hint that the
Deserialize
type is expecting a unit struct with a
particular name.source§fn deserialize_seq<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
fn deserialize_seq<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
Hint that the
Deserialize
type is expecting a sequence of values.source§fn deserialize_tuple<V>(
self,
len: usize,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
fn deserialize_tuple<V>(
self,
len: usize,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
Hint that the
Deserialize
type is expecting a sequence of values and
knows how many values there are without looking at the serialized data.source§fn deserialize_tuple_struct<V>(
self,
name: &'static str,
len: usize,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
fn deserialize_tuple_struct<V>(
self,
name: &'static str,
len: usize,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
Hint that the
Deserialize
type is expecting a tuple struct with a
particular name and number of fields.source§fn deserialize_map<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
fn deserialize_map<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
Hint that the
Deserialize
type is expecting a map of key-value pairs.source§fn deserialize_identifier<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
fn deserialize_identifier<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
Hint that the
Deserialize
type is expecting the name of a struct
field or the discriminant of an enum variant.source§fn deserialize_ignored_any<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
fn deserialize_ignored_any<V>(
self,
visitor: V,
) -> Result<V::Value, <Self as Deserializer<'de>>::Error>where
V: Visitor<'de>,
Hint that the
Deserialize
type needs to deserialize a value whose type
doesn’t matter because it is ignored. Read moresource§fn is_human_readable(&self) -> bool
fn is_human_readable(&self) -> bool
Determine whether
Deserialize
implementations should expect to
deserialize their human-readable form. Read moresource§impl<'value> From<StaticNode> for Value<'value>
impl<'value> From<StaticNode> for Value<'value>
source§fn from(s: StaticNode) -> Self
fn from(s: StaticNode) -> Self
Converts to this type from the input type.
source§impl From<Value<'_>> for Value
impl From<Value<'_>> for Value
source§fn from(b: BorrowedValue<'_>) -> Self
fn from(b: BorrowedValue<'_>) -> Self
Converts to this type from the input type.
source§impl<'value> From<Value> for Value<'value>
impl<'value> From<Value> for Value<'value>
source§fn from(b: OwnedValue) -> Self
fn from(b: OwnedValue) -> Self
Converts to this type from the input type.
source§impl<'value, K: Into<Cow<'value, str>>, V: Into<Value<'value>>> FromIterator<(K, V)> for Value<'value>
impl<'value, K: Into<Cow<'value, str>>, V: Into<Value<'value>>> FromIterator<(K, V)> for Value<'value>
source§impl<'value, V: Into<Value<'value>>> FromIterator<V> for Value<'value>
impl<'value, V: Into<Value<'value>>> FromIterator<V> for Value<'value>
source§fn from_iter<I: IntoIterator<Item = V>>(iter: I) -> Self
fn from_iter<I: IntoIterator<Item = V>>(iter: I) -> Self
Creates a value from an iterator. Read more
source§impl<'de> IntoDeserializer<'de, Error> for Value<'de>
impl<'de> IntoDeserializer<'de, Error> for Value<'de>
source§type Deserializer = Value<'de>
type Deserializer = Value<'de>
The type of the deserializer being converted into.
source§fn into_deserializer(self) -> Self::Deserializer
fn into_deserializer(self) -> Self::Deserializer
Convert this value into a deserializer.
source§impl<'value> TryFrom<Value> for BorrowedValue<'value>
impl<'value> TryFrom<Value> for BorrowedValue<'value>
source§type Error = SerdeConversionError
type Error = SerdeConversionError
The type returned in the event of a conversion error.
source§impl<'value> TryInto<Value> for BorrowedValue<'value>
impl<'value> TryInto<Value> for BorrowedValue<'value>
source§type Error = SerdeConversionError
type Error = SerdeConversionError
The type returned in the event of a conversion error.
source§impl<'value> TypedValue for Value<'value>
impl<'value> TypedValue for Value<'value>
source§fn value_type(&self) -> ValueType
fn value_type(&self) -> ValueType
Gets the type of the current value
source§impl<'value> ValueAsArray for Value<'value>
impl<'value> ValueAsArray for Value<'value>
source§impl<'value> ValueAsMutArray for Value<'value>
impl<'value> ValueAsMutArray for Value<'value>
source§impl<'value> ValueAsMutObject for Value<'value>
impl<'value> ValueAsMutObject for Value<'value>
source§fn as_object_mut(&mut self) -> Option<&mut Object<'value>>
fn as_object_mut(&mut self) -> Option<&mut Object<'value>>
Get mutable access to a map.
use simd_json::*;
use value_trait::prelude::*;
let mut object: BorrowedValue = json!({
"answer": 23,
"key": 7
}).into();
assert_eq!(object["answer"], 23);
if let Some(inner) = object.as_object_mut() {
inner.insert("value".into(), BorrowedValue::from(json!({"nested": 42})));
}
assert_eq!(object["value"], json!({"nested": 42}));
source§impl<'value> ValueAsObject for Value<'value>
impl<'value> ValueAsObject for Value<'value>
source§impl<'value> ValueAsScalar for Value<'value>
impl<'value> ValueAsScalar for Value<'value>
source§impl<'value> ValueBuilder<'value> for Value<'value>
impl<'value> ValueBuilder<'value> for Value<'value>
source§fn array_with_capacity(capacity: usize) -> Self
fn array_with_capacity(capacity: usize) -> Self
Returns an empty array with a given capacity
source§fn object_with_capacity(capacity: usize) -> Self
fn object_with_capacity(capacity: usize) -> Self
Returns an empty object with a given capacity
source§impl<'value> ValueIntoArray for Value<'value>
impl<'value> ValueIntoArray for Value<'value>
source§impl<'value> ValueIntoObject for Value<'value>
impl<'value> ValueIntoObject for Value<'value>
source§fn into_object(self) -> Option<<Self as ValueIntoObject>::Object>
fn into_object(self) -> Option<<Self as ValueIntoObject>::Object>
Tries to turn the value into it’s object representation
source§impl<'value> ValueIntoString for Value<'value>
impl<'value> ValueIntoString for Value<'value>
source§impl<'value> Writable for Value<'value>
impl<'value> Writable for Value<'value>
Auto Trait Implementations§
impl<'value> Freeze for Value<'value>
impl<'value> RefUnwindSafe for Value<'value>
impl<'value> Send for Value<'value>
impl<'value> Sync for Value<'value>
impl<'value> Unpin for Value<'value>
impl<'value> UnwindSafe for Value<'value>
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)source§impl<T> TypedArrayValue for Twhere
T: ValueAsArray,
impl<T> TypedArrayValue for Twhere
T: ValueAsArray,
source§impl<T> TypedObjectValue for Twhere
T: ValueAsObject,
impl<T> TypedObjectValue for Twhere
T: ValueAsObject,
source§impl<T> TypedScalarValue for Twhere
T: ValueAsScalar,
impl<T> TypedScalarValue for Twhere
T: ValueAsScalar,
source§fn is_integer(&self) -> bool
fn is_integer(&self) -> bool
returns true if the current value a integer number
source§fn is_f64_castable(&self) -> bool
fn is_f64_castable(&self) -> bool
returns true if the current value can be cast into a f64
source§impl<T> ValueObjectAccess for Twhere
T: ValueAsObject,
impl<T> ValueObjectAccess for Twhere
T: ValueAsObject,
source§impl<T> ValueObjectAccessTryAsArray for T
impl<T> ValueObjectAccessTryAsArray for T
source§type Key = <T as ValueObjectTryAccess>::Key
type Key = <T as ValueObjectTryAccess>::Key
The type for Objects
source§type Array = <<T as ValueObjectTryAccess>::Target as ValueTryAsArray>::Array
type Array = <<T as ValueObjectTryAccess>::Target as ValueTryAsArray>::Array
The array structure
source§fn try_get_array<Q>(
&self,
k: &Q,
) -> Result<Option<&<T as ValueObjectAccessTryAsArray>::Array>, TryTypeError>
fn try_get_array<Q>( &self, k: &Q, ) -> Result<Option<&<T as ValueObjectAccessTryAsArray>::Array>, TryTypeError>
Tries to get an element of an object as an array, returns
an error if it isn’t a array Read more
source§impl<T> ValueObjectAccessTryAsObject for T
impl<T> ValueObjectAccessTryAsObject for T
source§type Key = <T as ValueObjectTryAccess>::Key
type Key = <T as ValueObjectTryAccess>::Key
The type for Objects
source§type Object = <<T as ValueObjectTryAccess>::Target as ValueTryAsObject>::Object
type Object = <<T as ValueObjectTryAccess>::Target as ValueTryAsObject>::Object
The object structure
source§fn try_get_object<Q>(
&self,
k: &Q,
) -> Result<Option<&<T as ValueObjectAccessTryAsObject>::Object>, TryTypeError>
fn try_get_object<Q>( &self, k: &Q, ) -> Result<Option<&<T as ValueObjectAccessTryAsObject>::Object>, TryTypeError>
Tries to get an element of an object as an object, returns
an error if it isn’t an object Read more
source§impl<T> ValueObjectAccessTryAsScalar for T
impl<T> ValueObjectAccessTryAsScalar for T
source§type Key = <T as ValueObjectTryAccess>::Key
type Key = <T as ValueObjectTryAccess>::Key
The type for Objects
source§fn try_get_bool<Q>(&self, k: &Q) -> Result<Option<bool>, TryTypeError>
fn try_get_bool<Q>(&self, k: &Q) -> Result<Option<bool>, TryTypeError>
Tries to get an element of an object as a bool, returns
an error if it isn’t bool Read more
source§fn try_get_i128<Q>(&self, k: &Q) -> Result<Option<i128>, TryTypeError>
fn try_get_i128<Q>(&self, k: &Q) -> Result<Option<i128>, TryTypeError>
Tries to get an element of an object as a i128, returns
an error if it isn’t i128 Read more
source§fn try_get_i64<Q>(&self, k: &Q) -> Result<Option<i64>, TryTypeError>
fn try_get_i64<Q>(&self, k: &Q) -> Result<Option<i64>, TryTypeError>
Tries to get an element of an object as a i64, returns
an error if it isn’t a i64 Read more
source§fn try_get_i32<Q>(&self, k: &Q) -> Result<Option<i32>, TryTypeError>
fn try_get_i32<Q>(&self, k: &Q) -> Result<Option<i32>, TryTypeError>
Tries to get an element of an object as a i32, returns
an error if it isn’t a i32 Read more
source§fn try_get_i16<Q>(&self, k: &Q) -> Result<Option<i16>, TryTypeError>
fn try_get_i16<Q>(&self, k: &Q) -> Result<Option<i16>, TryTypeError>
Tries to get an element of an object as a i16, returns
an error if it isn’t a i16 Read more
source§fn try_get_i8<Q>(&self, k: &Q) -> Result<Option<i8>, TryTypeError>
fn try_get_i8<Q>(&self, k: &Q) -> Result<Option<i8>, TryTypeError>
Tries to get an element of an object as a i8, returns
an error if it isn’t a i8 Read more
source§fn try_get_u128<Q>(&self, k: &Q) -> Result<Option<u128>, TryTypeError>
fn try_get_u128<Q>(&self, k: &Q) -> Result<Option<u128>, TryTypeError>
Tries to get an element of an object as a u128, returns
an error if it isn’t a u128 Read more
source§fn try_get_u64<Q>(&self, k: &Q) -> Result<Option<u64>, TryTypeError>
fn try_get_u64<Q>(&self, k: &Q) -> Result<Option<u64>, TryTypeError>
Tries to get an element of an object as a u64, returns
an error if it isn’t a u64 Read more
source§fn try_get_usize<Q>(&self, k: &Q) -> Result<Option<usize>, TryTypeError>
fn try_get_usize<Q>(&self, k: &Q) -> Result<Option<usize>, TryTypeError>
Tries to get an element of an object as a usize, returns
an error if it isn’t a usize Read more
source§fn try_get_u32<Q>(&self, k: &Q) -> Result<Option<u32>, TryTypeError>
fn try_get_u32<Q>(&self, k: &Q) -> Result<Option<u32>, TryTypeError>
Tries to get an element of an object as a u32, returns
an error if it isn’t a u32 Read more
source§fn try_get_u16<Q>(&self, k: &Q) -> Result<Option<u16>, TryTypeError>
fn try_get_u16<Q>(&self, k: &Q) -> Result<Option<u16>, TryTypeError>
Tries to get an element of an object as a u16, returns
an error if it isn’t a u16 Read more
source§fn try_get_u8<Q>(&self, k: &Q) -> Result<Option<u8>, TryTypeError>
fn try_get_u8<Q>(&self, k: &Q) -> Result<Option<u8>, TryTypeError>
Tries to get an element of an object as a u8, returns
an error if it isn’t a u8 Read more
source§fn try_get_f64<Q>(&self, k: &Q) -> Result<Option<f64>, TryTypeError>
fn try_get_f64<Q>(&self, k: &Q) -> Result<Option<f64>, TryTypeError>
Tries to get an element of an object as a f64, returns
an error if it isn’t a f64 Read more
source§fn try_get_f32<Q>(&self, k: &Q) -> Result<Option<f32>, TryTypeError>
fn try_get_f32<Q>(&self, k: &Q) -> Result<Option<f32>, TryTypeError>
Tries to get an element of an object as a f32, returns
an error if it isn’t a f32 Read more
source§impl<T> ValueObjectTryAccess for Twhere
T: ValueTryAsObject,
impl<T> ValueObjectTryAccess for Twhere
T: ValueTryAsObject,
source§type Target = <<T as ValueTryAsObject>::Object as Object>::Element
type Target = <<T as ValueTryAsObject>::Object as Object>::Element
The target for nested lookups
source§fn try_get<Q>(
&self,
k: &Q,
) -> Result<Option<&<T as ValueObjectTryAccess>::Target>, TryTypeError>
fn try_get<Q>( &self, k: &Q, ) -> Result<Option<&<T as ValueObjectTryAccess>::Target>, TryTypeError>
Tries to get a value based on a key, returns a
TryTypeError
if the
current Value isn’t an Object, returns None
if the key isn’t in the object Read moresource§impl<T> ValueTryAsArray for Twhere
T: ValueAsArray + TypedValue,
impl<T> ValueTryAsArray for Twhere
T: ValueAsArray + TypedValue,
source§type Array = <T as ValueAsArray>::Array
type Array = <T as ValueAsArray>::Array
The array structure
source§fn try_as_array(&self) -> Result<&<T as ValueTryAsArray>::Array, TryTypeError>
fn try_as_array(&self) -> Result<&<T as ValueTryAsArray>::Array, TryTypeError>
Tries to represent the value as an array and returns a reference to it Read more
source§impl<T> ValueTryAsMutObject for Twhere
T: ValueAsMutObject + TypedValue,
impl<T> ValueTryAsMutObject for Twhere
T: ValueAsMutObject + TypedValue,
source§type Object = <T as ValueAsMutObject>::Object
type Object = <T as ValueAsMutObject>::Object
The type for Objects
source§fn try_as_object_mut(
&mut self,
) -> Result<&mut <T as ValueTryAsMutObject>::Object, TryTypeError>
fn try_as_object_mut( &mut self, ) -> Result<&mut <T as ValueTryAsMutObject>::Object, TryTypeError>
Tries to represent the value as an object and returns a mutable reference to it Read more
source§impl<T> ValueTryAsObject for Twhere
T: ValueAsObject + TypedValue,
impl<T> ValueTryAsObject for Twhere
T: ValueAsObject + TypedValue,
source§type Object = <T as ValueAsObject>::Object
type Object = <T as ValueAsObject>::Object
The object structure
source§fn try_as_object(
&self,
) -> Result<&<T as ValueTryAsObject>::Object, TryTypeError>
fn try_as_object( &self, ) -> Result<&<T as ValueTryAsObject>::Object, TryTypeError>
Tries to represent the value as an object and returns a reference to it Read more
source§impl<T> ValueTryAsScalar for Twhere
T: ValueAsScalar + TypedValue,
impl<T> ValueTryAsScalar for Twhere
T: ValueAsScalar + TypedValue,
source§fn try_as_bool(&self) -> Result<bool, TryTypeError>
fn try_as_bool(&self) -> Result<bool, TryTypeError>
Tries to represent the value as a bool Read more
source§fn try_as_i128(&self) -> Result<i128, TryTypeError>
fn try_as_i128(&self) -> Result<i128, TryTypeError>
Tries to represent the value as a i128 Read more
source§fn try_as_i64(&self) -> Result<i64, TryTypeError>
fn try_as_i64(&self) -> Result<i64, TryTypeError>
Tries to represent the value as an i64 Read more
source§fn try_as_i32(&self) -> Result<i32, TryTypeError>
fn try_as_i32(&self) -> Result<i32, TryTypeError>
Tries to represent the value as an i32 Read more
source§fn try_as_i16(&self) -> Result<i16, TryTypeError>
fn try_as_i16(&self) -> Result<i16, TryTypeError>
Tries to represent the value as an i16 Read more
source§fn try_as_i8(&self) -> Result<i8, TryTypeError>
fn try_as_i8(&self) -> Result<i8, TryTypeError>
Tries to represent the value as an i8 Read more
source§fn try_as_u128(&self) -> Result<u128, TryTypeError>
fn try_as_u128(&self) -> Result<u128, TryTypeError>
Tries to represent the value as an u128 Read more
source§fn try_as_u64(&self) -> Result<u64, TryTypeError>
fn try_as_u64(&self) -> Result<u64, TryTypeError>
Tries to represent the value as an u64 Read more
source§fn try_as_usize(&self) -> Result<usize, TryTypeError>
fn try_as_usize(&self) -> Result<usize, TryTypeError>
Tries to represent the value as an usize Read more
source§fn try_as_u32(&self) -> Result<u32, TryTypeError>
fn try_as_u32(&self) -> Result<u32, TryTypeError>
Tries to represent the value as an u32 Read more
source§fn try_as_u16(&self) -> Result<u16, TryTypeError>
fn try_as_u16(&self) -> Result<u16, TryTypeError>
Tries to represent the value as an u16 Read more
source§fn try_as_u8(&self) -> Result<u8, TryTypeError>
fn try_as_u8(&self) -> Result<u8, TryTypeError>
Tries to represent the value as an u8 Read more
source§fn try_as_f64(&self) -> Result<f64, TryTypeError>
fn try_as_f64(&self) -> Result<f64, TryTypeError>
Tries to represent the value as a f64 Read more
source§fn try_cast_f64(&self) -> Result<f64, TryTypeError>
fn try_cast_f64(&self) -> Result<f64, TryTypeError>
Tries to Casts the current value to a f64 if possible, this will turn integer
values into floats and error if it isn’t possible Read more
source§fn try_as_f32(&self) -> Result<f32, TryTypeError>
fn try_as_f32(&self) -> Result<f32, TryTypeError>
Tries to represent the value as a f32 Read more
source§fn try_as_str(&self) -> Result<&str, TryTypeError>
fn try_as_str(&self) -> Result<&str, TryTypeError>
Tries to represent the value as a &str Read more
source§fn try_as_char(&self) -> Result<char, TryTypeError>
fn try_as_char(&self) -> Result<char, TryTypeError>
Tries to represent the value as a Char Read more
source§impl<T> ValueTryIntoArray for Twhere
T: ValueIntoArray + TypedValue,
impl<T> ValueTryIntoArray for Twhere
T: ValueIntoArray + TypedValue,
source§fn try_into_array(self) -> Result<<T as ValueTryIntoArray>::Array, TryTypeError>
fn try_into_array(self) -> Result<<T as ValueTryIntoArray>::Array, TryTypeError>
Tries to turn the value into it’s array representation
§Errors
if the requested type doesn’t match the actual type
source§type Array = <T as ValueIntoArray>::Array
type Array = <T as ValueIntoArray>::Array
The type for Arrays
source§impl<T> ValueTryIntoObject for Twhere
T: ValueIntoObject + TypedValue,
impl<T> ValueTryIntoObject for Twhere
T: ValueIntoObject + TypedValue,
source§fn try_into_object(
self,
) -> Result<<T as ValueTryIntoObject>::Object, TryTypeError>
fn try_into_object( self, ) -> Result<<T as ValueTryIntoObject>::Object, TryTypeError>
Tries to turn the value into it’s object representation
§Errors
if the requested type doesn’t match the actual type
source§type Object = <T as ValueIntoObject>::Object
type Object = <T as ValueIntoObject>::Object
The type for Objects
source§impl<T> ValueTryIntoString for Twhere
T: ValueIntoString + TypedValue,
impl<T> ValueTryIntoString for Twhere
T: ValueIntoString + TypedValue,
source§type String = <T as ValueIntoString>::String
type String = <T as ValueIntoString>::String
The type for Strings
source§fn try_into_string(
self,
) -> Result<<T as ValueTryIntoString>::String, TryTypeError>
fn try_into_string( self, ) -> Result<<T as ValueTryIntoString>::String, TryTypeError>
Tries to turn the value into it’s string representation Read more