pub enum Value<'s> {
Int(i64),
Float(f64),
Str(CowStr<'s>),
Null,
Bool(bool),
Array(Array<'s>),
Map(Map<'s>),
}Expand description
Think serde_json::Value, but with a small string optimization,
copy-on-write strings, etc. Might include other value types later.
Variants§
Implementations§
source§impl<'s> Value<'s>
impl<'s> Value<'s>
pub fn as_map(&self) -> Result<&Map<'s>, MerdeError>
pub fn into_map(self) -> Result<Map<'s>, MerdeError>
pub fn as_array(&self) -> Result<&Array<'s>, MerdeError>
pub fn into_array(self) -> Result<Array<'s>, MerdeError>
pub fn as_str(&self) -> Result<&CowStr<'s>, MerdeError>
pub fn into_str(self) -> Result<CowStr<'s>, MerdeError>
pub fn as_i64(&self) -> Result<i64, MerdeError>
Trait Implementations§
source§impl<'s> ValueDeserialize<'s> for Value<'s>
impl<'s> ValueDeserialize<'s> for Value<'s>
source§fn from_value(value: Option<Value<'s>>) -> Result<Value<'s>, MerdeError>
fn from_value(value: Option<Value<'s>>) -> Result<Value<'s>, MerdeError>
Destructures a JSON value into a Rust value, while taking ownership of the Value.
A default implementation is provided, but some types may want to implement it themselves
to avoid unnecessary allocations/cloning.
source§fn from_value_ref<'val>(
value: Option<&'val Value<'s>>,
) -> Result<Value<'s>, MerdeError>
fn from_value_ref<'val>( value: Option<&'val Value<'s>>, ) -> Result<Value<'s>, MerdeError>
Destructures a Value into a more structured type
impl<'s> StructuralPartialEq for Value<'s>
Auto Trait Implementations§
impl<'s> Freeze for Value<'s>
impl<'s> RefUnwindSafe for Value<'s>
impl<'s> Send for Value<'s>
impl<'s> Sync for Value<'s>
impl<'s> Unpin for Value<'s>
impl<'s> UnwindSafe for Value<'s>
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)