pub enum Value {
Null,
Bool(bool),
Number(Number),
String(String),
Array(Vec<Value>),
Object(Map<String, Value>),
}Expand description
An owned JSON value.
Variants§
Implementations§
Source§impl Value
impl Value
pub const fn is_null(&self) -> bool
pub const fn is_boolean(&self) -> bool
pub const fn is_number(&self) -> bool
pub fn is_i64(&self) -> bool
pub fn is_u64(&self) -> bool
pub fn is_f64(&self) -> bool
pub const fn is_string(&self) -> bool
pub const fn is_array(&self) -> bool
pub const fn is_object(&self) -> bool
pub const fn as_bool(&self) -> Option<bool>
pub fn as_i64(&self) -> Option<i64>
pub fn as_u64(&self) -> Option<u64>
pub fn as_f64(&self) -> Option<f64>
pub const fn as_number(&self) -> Option<&Number>
pub fn as_str(&self) -> Option<&str>
pub const fn as_array(&self) -> Option<&Vec<Self>>
pub fn as_array_mut(&mut self) -> Option<&mut Vec<Self>>
pub const fn as_object(&self) -> Option<&Map<String, Self>>
pub fn as_object_mut(&mut self) -> Option<&mut Map<String, Self>>
pub fn get<I: ValueIndex>(&self, index: I) -> Option<&Self>
pub fn get_mut<I: ValueIndex>(&mut self, index: I) -> Option<&mut Self>
Sourcepub fn pointer_mut(&mut self, pointer: &str) -> Option<&mut Self>
pub fn pointer_mut(&mut self, pointer: &str) -> Option<&mut Self>
Resolves a mutable RFC 6901 JSON Pointer.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Value
impl<'de> Deserialize<'de> for Value
Source§fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error>
fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error>
Deserialize this value from the given Serde deserializer. Read more
Source§impl<'de> Deserializer<'de> for Value
impl<'de> Deserializer<'de> for Value
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: Visitor<'de>>(self, visitor: V) -> Result<V::Value>
fn deserialize_any<V: Visitor<'de>>(self, visitor: V) -> Result<V::Value>
Require the
Deserializer to figure out how to drive the visitor based
on what data type is in the input. Read moreSource§fn deserialize_bool<V: Visitor<'de>>(self, visitor: V) -> Result<V::Value>
fn deserialize_bool<V: Visitor<'de>>(self, visitor: V) -> Result<V::Value>
Hint that the
Deserialize type is expecting a bool value.Source§fn deserialize_i8<V: Visitor<'de>>(self, visitor: V) -> Result<V::Value>
fn deserialize_i8<V: Visitor<'de>>(self, visitor: V) -> Result<V::Value>
Hint that the
Deserialize type is expecting an i8 value.Source§fn deserialize_i16<V: Visitor<'de>>(self, visitor: V) -> Result<V::Value>
fn deserialize_i16<V: Visitor<'de>>(self, visitor: V) -> Result<V::Value>
Hint that the
Deserialize type is expecting an i16 value.Source§fn deserialize_i32<V: Visitor<'de>>(self, visitor: V) -> Result<V::Value>
fn deserialize_i32<V: Visitor<'de>>(self, visitor: V) -> Result<V::Value>
Hint that the
Deserialize type is expecting an i32 value.Source§fn deserialize_i64<V: Visitor<'de>>(self, visitor: V) -> Result<V::Value>
fn deserialize_i64<V: Visitor<'de>>(self, visitor: V) -> Result<V::Value>
Hint that the
Deserialize type is expecting an i64 value.Source§fn deserialize_u8<V: Visitor<'de>>(self, visitor: V) -> Result<V::Value>
fn deserialize_u8<V: Visitor<'de>>(self, visitor: V) -> Result<V::Value>
Hint that the
Deserialize type is expecting a u8 value.Source§fn deserialize_u16<V: Visitor<'de>>(self, visitor: V) -> Result<V::Value>
fn deserialize_u16<V: Visitor<'de>>(self, visitor: V) -> Result<V::Value>
Hint that the
Deserialize type is expecting a u16 value.Source§fn deserialize_u32<V: Visitor<'de>>(self, visitor: V) -> Result<V::Value>
fn deserialize_u32<V: Visitor<'de>>(self, visitor: V) -> Result<V::Value>
Hint that the
Deserialize type is expecting a u32 value.Source§fn deserialize_u64<V: Visitor<'de>>(self, visitor: V) -> Result<V::Value>
fn deserialize_u64<V: Visitor<'de>>(self, visitor: V) -> Result<V::Value>
Hint that the
Deserialize type is expecting a u64 value.Source§fn deserialize_f32<V: Visitor<'de>>(self, visitor: V) -> Result<V::Value>
fn deserialize_f32<V: Visitor<'de>>(self, visitor: V) -> Result<V::Value>
Hint that the
Deserialize type is expecting a f32 value.Source§fn deserialize_f64<V: Visitor<'de>>(self, visitor: V) -> Result<V::Value>
fn deserialize_f64<V: Visitor<'de>>(self, visitor: V) -> Result<V::Value>
Hint that the
Deserialize type is expecting a f64 value.Source§fn deserialize_char<V: Visitor<'de>>(self, visitor: V) -> Result<V::Value>
fn deserialize_char<V: Visitor<'de>>(self, visitor: V) -> Result<V::Value>
Hint that the
Deserialize type is expecting a char value.Source§fn deserialize_str<V: Visitor<'de>>(self, visitor: V) -> Result<V::Value>
fn deserialize_str<V: Visitor<'de>>(self, visitor: V) -> Result<V::Value>
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: Visitor<'de>>(self, visitor: V) -> Result<V::Value>
fn deserialize_string<V: Visitor<'de>>(self, visitor: V) -> Result<V::Value>
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: Visitor<'de>>(self, visitor: V) -> Result<V::Value>
fn deserialize_bytes<V: Visitor<'de>>(self, visitor: V) -> Result<V::Value>
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: Visitor<'de>>(self, visitor: V) -> Result<V::Value>
fn deserialize_byte_buf<V: Visitor<'de>>(self, visitor: V) -> Result<V::Value>
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_option<V: Visitor<'de>>(self, visitor: V) -> Result<V::Value>
fn deserialize_option<V: Visitor<'de>>(self, visitor: V) -> Result<V::Value>
Hint that the
Deserialize type is expecting an optional value. Read moreSource§fn deserialize_unit<V: Visitor<'de>>(self, visitor: V) -> Result<V::Value>
fn deserialize_unit<V: Visitor<'de>>(self, visitor: V) -> Result<V::Value>
Hint that the
Deserialize type is expecting a unit value.Source§fn deserialize_unit_struct<V: Visitor<'de>>(
self,
_name: &'static str,
visitor: V,
) -> Result<V::Value>
fn deserialize_unit_struct<V: Visitor<'de>>( self, _name: &'static str, visitor: V, ) -> Result<V::Value>
Hint that the
Deserialize type is expecting a unit struct with a
particular name.Source§fn deserialize_newtype_struct<V: Visitor<'de>>(
self,
_name: &'static str,
visitor: V,
) -> Result<V::Value>
fn deserialize_newtype_struct<V: Visitor<'de>>( self, _name: &'static str, visitor: V, ) -> Result<V::Value>
Hint that the
Deserialize type is expecting a newtype struct with a
particular name.Source§fn deserialize_seq<V: Visitor<'de>>(self, visitor: V) -> Result<V::Value>
fn deserialize_seq<V: Visitor<'de>>(self, visitor: V) -> Result<V::Value>
Hint that the
Deserialize type is expecting a sequence of values.Source§fn deserialize_tuple<V: Visitor<'de>>(
self,
_length: usize,
visitor: V,
) -> Result<V::Value>
fn deserialize_tuple<V: Visitor<'de>>( self, _length: usize, visitor: V, ) -> Result<V::Value>
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: Visitor<'de>>(
self,
_name: &'static str,
length: usize,
visitor: V,
) -> Result<V::Value>
fn deserialize_tuple_struct<V: Visitor<'de>>( self, _name: &'static str, length: usize, visitor: V, ) -> Result<V::Value>
Hint that the
Deserialize type is expecting a tuple struct with a
particular name and number of fields.Source§fn deserialize_map<V: Visitor<'de>>(self, visitor: V) -> Result<V::Value>
fn deserialize_map<V: Visitor<'de>>(self, visitor: V) -> Result<V::Value>
Hint that the
Deserialize type is expecting a map of key-value pairs.Source§fn deserialize_struct<V: Visitor<'de>>(
self,
_name: &'static str,
_fields: &'static [&'static str],
visitor: V,
) -> Result<V::Value>
fn deserialize_struct<V: Visitor<'de>>( self, _name: &'static str, _fields: &'static [&'static str], visitor: V, ) -> Result<V::Value>
Hint that the
Deserialize type is expecting a struct with a particular
name and fields.Source§fn deserialize_enum<V: Visitor<'de>>(
self,
_name: &'static str,
_variants: &'static [&'static str],
visitor: V,
) -> Result<V::Value>
fn deserialize_enum<V: Visitor<'de>>( self, _name: &'static str, _variants: &'static [&'static str], visitor: V, ) -> Result<V::Value>
Hint that the
Deserialize type is expecting an enum value with a
particular name and possible variants.Source§fn deserialize_identifier<V: Visitor<'de>>(self, visitor: V) -> Result<V::Value>
fn deserialize_identifier<V: Visitor<'de>>(self, visitor: V) -> Result<V::Value>
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: Visitor<'de>>(
self,
visitor: V,
) -> Result<V::Value>
fn deserialize_ignored_any<V: Visitor<'de>>( self, visitor: V, ) -> Result<V::Value>
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 moreimpl StructuralPartialEq for Value
Auto Trait Implementations§
impl Freeze for Value
impl RefUnwindSafe for Value
impl Send for Value
impl Sync for Value
impl Unpin for Value
impl UnsafeUnpin for Value
impl UnwindSafe for 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