Enum rustc_serialize::json::Json
source · [−]pub enum Json {
I64(i64),
U64(u64),
F64(f64),
String(String),
Boolean(bool),
Array(Array),
Object(Object),
Null,
}Expand description
Represents a json value
Variants
I64(i64)
U64(u64)
F64(f64)
String(String)
Boolean(bool)
Array(Array)
Object(Object)
Null
Implementations
sourceimpl Json
impl Json
sourcepub fn pretty(&self) -> PrettyJson<'_>
pub fn pretty(&self) -> PrettyJson<'_>
Borrow this json object as a pretty object to generate a pretty
representation for it via Display.
sourcepub fn find(&self, key: &str) -> Option<&Json>
pub fn find(&self, key: &str) -> Option<&Json>
If the Json value is an Object, returns the value associated with the provided key. Otherwise, returns None.
sourcepub fn remove_key(&mut self, key: &str) -> Option<Json>
pub fn remove_key(&mut self, key: &str) -> Option<Json>
If the Json value is an Object, deletes the value associated with the provided key from the Object and returns it. Otherwise, returns None.
sourcepub fn find_path<'a>(&'a self, keys: &[&str]) -> Option<&'a Json>
pub fn find_path<'a>(&'a self, keys: &[&str]) -> Option<&'a Json>
Attempts to get a nested Json Object for each key in keys.
If any key is found not to exist, find_path will return None.
Otherwise, it will return the Json value associated with the final key.
sourcepub fn search(&self, key: &str) -> Option<&Json>
pub fn search(&self, key: &str) -> Option<&Json>
If the Json value is an Object, performs a depth-first search until
a value associated with the provided key is found. If no value is found
or the Json value is not an Object, returns None.
sourcepub fn as_object(&self) -> Option<&Object>
pub fn as_object(&self) -> Option<&Object>
If the Json value is an Object, returns the associated BTreeMap;
returns None otherwise.
sourcepub fn as_array(&self) -> Option<&Array>
pub fn as_array(&self) -> Option<&Array>
If the Json value is an Array, returns the associated vector;
returns None otherwise.
sourcepub fn as_string(&self) -> Option<&str>
pub fn as_string(&self) -> Option<&str>
If the Json value is a String, returns the associated str;
returns None otherwise.
sourcepub fn as_i64(&self) -> Option<i64>
pub fn as_i64(&self) -> Option<i64>
If the Json value is a number, returns or cast it to an i64;
returns None otherwise.
sourcepub fn as_u64(&self) -> Option<u64>
pub fn as_u64(&self) -> Option<u64>
If the Json value is a number, returns or cast it to a u64;
returns None otherwise.
sourcepub fn as_f64(&self) -> Option<f64>
pub fn as_f64(&self) -> Option<f64>
If the Json value is a number, returns or cast it to a f64;
returns None otherwise.
sourcepub fn is_boolean(&self) -> bool
pub fn is_boolean(&self) -> bool
Returns true if the Json value is a Boolean.
sourcepub fn as_boolean(&self) -> Option<bool>
pub fn as_boolean(&self) -> Option<bool>
If the Json value is a Boolean, returns the associated bool;
returns None otherwise.
Trait Implementations
sourceimpl FromStr for Json
impl FromStr for Json
type Err = BuilderError
type Err = BuilderError
The associated error which can be returned from parsing.
sourceimpl PartialOrd<Json> for Json
impl PartialOrd<Json> for Json
sourcefn partial_cmp(&self, other: &Json) -> Option<Ordering>
fn partial_cmp(&self, other: &Json) -> Option<Ordering>
This method returns an ordering between self and other values if one exists. Read more
1.0.0 · sourcefn lt(&self, other: &Rhs) -> bool
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self and other) and is used by the <=
operator. Read more
impl StructuralPartialEq for Json
Auto Trait Implementations
impl RefUnwindSafe for Json
impl Send for Json
impl Sync for Json
impl Unpin for Json
impl UnwindSafe for Json
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcepub fn to_owned(&self) -> T
pub fn to_owned(&self) -> T
Creates owned data from borrowed data, usually by cloning. Read more
sourcepub fn clone_into(&self, target: &mut T)
pub fn clone_into(&self, target: &mut T)
toowned_clone_into)Uses borrowed data to replace owned data, usually by cloning. Read more
Layout
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference’s “Type Layout” chapter for details on type layout guarantees.
Size: 32 bytes
Size for each variant:
I64: 15 bytesU64: 15 bytesF64: 15 bytesString: 31 bytesBoolean: 1 byteArray: 31 bytesObject: 31 bytesNull: 0 bytes