pub struct Value<'bytes, 'parent, B, S>{ /* private fields */ }
Expand description
A JSON value.
Implementations§
Source§impl<'bytes, 'parent, B, S> Value<'bytes, 'parent, B, S>
impl<'bytes, 'parent, B, S> Value<'bytes, 'parent, B, S>
Sourcepub fn is_object(&self) -> Result<bool, JsonError<'bytes, B, S>>
pub fn is_object(&self) -> Result<bool, JsonError<'bytes, B, S>>
Check if the current item is an object.
Sourcepub fn fields(
self,
) -> Result<FieldIterator<'bytes, 'parent, B, S>, JsonError<'bytes, B, S>>
pub fn fields( self, ) -> Result<FieldIterator<'bytes, 'parent, B, S>, JsonError<'bytes, B, S>>
Iterate over the fields within this object.
If a field is present multiple times, this will yield each instance.
Sourcepub fn is_array(&self) -> Result<bool, JsonError<'bytes, B, S>>
pub fn is_array(&self) -> Result<bool, JsonError<'bytes, B, S>>
Check if the current item is an array.
Sourcepub fn iterate(
self,
) -> Result<ArrayIterator<'bytes, 'parent, B, S>, JsonError<'bytes, B, S>>
pub fn iterate( self, ) -> Result<ArrayIterator<'bytes, 'parent, B, S>, JsonError<'bytes, B, S>>
Iterate over all items within this container.
Sourcepub fn is_str(&self) -> Result<bool, JsonError<'bytes, B, S>>
pub fn is_str(&self) -> Result<bool, JsonError<'bytes, B, S>>
Check if the current item is a string.
Sourcepub fn to_str(self) -> Result<String<'bytes, B>, JsonError<'bytes, B, S>>
pub fn to_str(self) -> Result<String<'bytes, B>, JsonError<'bytes, B, S>>
Get the current item as a ‘string’ (represented as a B
).
This will NOT de-escape the string in any way, returning a view of the bytes underlying the serialization.
Sourcepub fn as_i64(&self) -> Result<i64, JsonError<'bytes, B, S>>
pub fn as_i64(&self) -> Result<i64, JsonError<'bytes, B, S>>
Get the current item as an i64
.
This uses the definition of a number defined in RFC 8259, then constrains it to having no
fractional, exponent parts. Then, it’s yielded if it’s representable within an i64
.
This is exact. It does not go through f64
and does not experience its approximations.
Trait Implementations§
Auto Trait Implementations§
impl<'bytes, 'parent, B, S> Freeze for Value<'bytes, 'parent, B, S>
impl<'bytes, 'parent, B, S> RefUnwindSafe for Value<'bytes, 'parent, B, S>where
B: RefUnwindSafe,
S: RefUnwindSafe,
<B as BytesLike<'bytes>>::Error: RefUnwindSafe,
<S as Stack>::Error: RefUnwindSafe,
impl<'bytes, 'parent, B, S> Send for Value<'bytes, 'parent, B, S>
impl<'bytes, 'parent, B, S> Sync for Value<'bytes, 'parent, B, S>
impl<'bytes, 'parent, B, S> Unpin for Value<'bytes, 'parent, B, S>
impl<'bytes, 'parent, B, S> !UnwindSafe for Value<'bytes, 'parent, B, 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