Enum json::JsonValue
[−]
[src]
pub enum JsonValue { String(String), Number(f64), Boolean(bool), Null, Object(BTreeMap<String, JsonValue>), Array(Vec<JsonValue>), }
Variants
String(String)
Number(f64)
Boolean(bool)
Null
Object(BTreeMap<String, JsonValue>)
Array(Vec<JsonValue>)
Methods
impl JsonValue
[src]
fn new_object() -> JsonValue
Create an empty JsonValue::Object
instance.
When creating an object with data, consider using the object!
macro.
fn new_array() -> JsonValue
Create an empty JsonValue::Array
instance.
When creating array with data, consider using the array!
macro.
fn is<T>(&self, other: T) -> bool where T: Into<JsonValue>
: Use value == other
instead
Checks if the value stored matches other
.
fn is_string(&self) -> bool
fn is_number(&self) -> bool
fn is_boolean(&self) -> bool
fn is_null(&self) -> bool
fn is_object(&self) -> bool
fn is_array(&self) -> bool
fn is_empty(&self) -> bool
Checks whether the value is empty. Returns true for:
- empty string (
""
) - number
0
- boolean
false
- null
- empty array (
array![]
) - empty object (
object!{}
)
fn as_string(&self) -> JsonResult<&String>
: Use as_str
instead
fn as_str(&self) -> Option<&str>
fn as_number(&self) -> JsonResult<&f64>
: Use as_f64
instead
fn as_f64(&self) -> Option<f64>
fn as_f32(&self) -> Option<f32>
fn as_u64(&self) -> Option<u64>
fn as_u32(&self) -> Option<u32>
fn as_u16(&self) -> Option<u16>
fn as_u8(&self) -> Option<u8>
fn as_usize(&self) -> Option<usize>
fn as_i64(&self) -> Option<i64>
fn as_i32(&self) -> Option<i32>
fn as_i16(&self) -> Option<i16>
fn as_i8(&self) -> Option<i8>
fn as_isize(&self) -> Option<isize>
fn as_bool(&self) -> Option<bool>
fn as_boolean(&self) -> JsonResult<&bool>
: Use as_bool
instead
fn put<T>(&mut self, key: &str, value: T) -> JsonResult<()> where T: Into<JsonValue>
: Use object[key] = value.into()
instead
Works on JsonValue::Object
- create or override key with value.
fn get(&self, key: &str) -> JsonResult<&JsonValue>
: Use object[key]
instead
Works on JsonValue::Object
- get a reference to a value behind key.
For most purposes consider using object[key]
instead.
fn get_mut(&mut self, key: &str) -> JsonResult<&mut JsonValue>
: Use object[key]
instead
Works on JsonValue::Object
- get a mutable reference to a value behind
the key.
fn with(&mut self, key: &str) -> &mut JsonValue
: Use object[key]
instead
Attempts to get a mutable reference to the value behind a key on an
object. If the reference doesn't exists, it will be created and
assigned a null. If self
is not an object, an empty object with
null key will be created.
fn push<T>(&mut self, value: T) -> JsonResult<()> where T: Into<JsonValue>
Works on JsonValue::Array
- pushes a new value to the array.
fn pop(&mut self) -> JsonValue
Works on JsonValue::Array
- remove and return last element from
an array. On failure returns a null.
fn at(&self, index: usize) -> JsonResult<&JsonValue>
: Use array[index]
instead
Works on JsonValue::Array
- gets a reference to a value at index.
For most purposes consider using array[index]
instead.
fn at_mut(&mut self, index: usize) -> JsonResult<&mut JsonValue>
: Use array[index]
instead
Works on JsonValue::Array
- gets a mutable reference to a value
at index.
fn contains<T>(&self, item: T) -> bool where T: Into<JsonValue>
Works on JsonValue::Array
- checks if the array contains a value
fn len(&self) -> usize
Returns length of array or object (number of keys), defaults to 0
for
other types.
fn members(&self) -> Members
Works on JsonValue::Array
- returns an iterator over members.
fn members_mut(&mut self) -> MembersMut
Works on JsonValue::Array
- returns a mutable iterator over members.
fn entries(&self) -> Entries
Works on JsonValue::Object
- returns an iterator over key value pairs.
fn entries_mut(&mut self) -> EntriesMut
Works on JsonValue::Object
- returns a mutable iterator over
key value pairs.
fn remove(&mut self, key: &str) -> JsonValue
Works on JsonValue::Object
- remove a key and return the value it held.
If the key was not present, the method is called on anything but an
object, it will return a null.
fn clear(&mut self)
When called on an array or an object, will wipe them clean. When called on a string will clear the string. Numbers and booleans become null.
impl JsonValue
[src]
fn dump(&self) -> String
Prints out the value as JSON string.
fn pretty(&self, spaces: u16) -> String
Pretty prints out the value as JSON string. Takes an argument that's number of spaces to indent new blocks with.
Trait Implementations
impl Clone for JsonValue
[src]
fn clone(&self) -> JsonValue
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0
Performs copy-assignment from source
. Read more
impl PartialEq for JsonValue
[src]
fn eq(&self, __arg_0: &JsonValue) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, __arg_0: &JsonValue) -> bool
This method tests for !=
.
impl Debug for JsonValue
[src]
impl Index<usize> for JsonValue
[src]
Implements indexing by usize
to easily access array members:
let mut array = JsonValue::new_array(); array.push("foo"); assert!(array[0].is("foo"));
type Output = JsonValue
The returned type after indexing
fn index(&self, index: usize) -> &JsonValue
The method for the indexing (Foo[Bar]
) operation
impl IndexMut<usize> for JsonValue
[src]
Implements mutable indexing by usie
to easily modify array members:
let mut array = array!["foo", 3.14]; array[1] = "bar".into(); assert!(array[1].is("bar"));
fn index_mut(&mut self, index: usize) -> &mut JsonValue
The method for the indexing (Foo[Bar]
) operation
impl<'a> Index<&'a str> for JsonValue
[src]
Implements indexing by &str
to easily access object members:
let object = object!{ "foo" => "bar" }; assert!(object["foo"].is("bar"));
type Output = JsonValue
The returned type after indexing
fn index(&self, index: &str) -> &JsonValue
The method for the indexing (Foo[Bar]
) operation
impl<'a> IndexMut<&'a str> for JsonValue
[src]
Implements mutable indexing by &str
to easily modify object members:
let mut object = object!{}; object["foo"] = 42.into(); assert!(object["foo"].is(42));
fn index_mut(&mut self, index: &str) -> &mut JsonValue
The method for the indexing (Foo[Bar]
) operation
impl Display for JsonValue
[src]
Implements formatting
let data = json::parse(r#"{"url":"https://github.com/"}"#).unwrap(); println!("{}", data); println!("{:#}", data);
impl<'a> From<&'a str> for JsonValue
[src]
impl<'a> From<Option<&'a str>> for JsonValue
[src]
impl From<HashMap<String, JsonValue>> for JsonValue
[src]
impl From<Option<HashMap<String, JsonValue>>> for JsonValue
[src]
impl From<Option<JsonValue>> for JsonValue
[src]
impl<'a> PartialEq<&'a str> for JsonValue
[src]
fn eq(&self, other: &&str) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &Rhs) -> bool
1.0.0
This method tests for !=
.
impl PartialEq<str> for JsonValue
[src]
fn eq(&self, other: &str) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &Rhs) -> bool
1.0.0
This method tests for !=
.
impl From<String> for JsonValue
[src]
impl PartialEq<String> for JsonValue
[src]
fn eq(&self, other: &String) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &Rhs) -> bool
1.0.0
This method tests for !=
.
impl<'a> PartialEq<String> for &'a JsonValue
[src]
fn eq(&self, other: &String) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &Rhs) -> bool
1.0.0
This method tests for !=
.
impl From<Option<String>> for JsonValue
[src]
impl From<Vec<String>> for JsonValue
[src]
impl From<Vec<Option<String>>> for JsonValue
[src]
impl From<isize> for JsonValue
[src]
impl PartialEq<isize> for JsonValue
[src]
fn eq(&self, other: &isize) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &Rhs) -> bool
1.0.0
This method tests for !=
.
impl<'a> PartialEq<isize> for &'a JsonValue
[src]
fn eq(&self, other: &isize) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &Rhs) -> bool
1.0.0
This method tests for !=
.
impl From<Option<isize>> for JsonValue
[src]
impl From<Vec<isize>> for JsonValue
[src]
impl From<Vec<Option<isize>>> for JsonValue
[src]
impl From<usize> for JsonValue
[src]
impl PartialEq<usize> for JsonValue
[src]
fn eq(&self, other: &usize) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &Rhs) -> bool
1.0.0
This method tests for !=
.
impl<'a> PartialEq<usize> for &'a JsonValue
[src]
fn eq(&self, other: &usize) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &Rhs) -> bool
1.0.0
This method tests for !=
.
impl From<Option<usize>> for JsonValue
[src]
impl From<Vec<usize>> for JsonValue
[src]
impl From<Vec<Option<usize>>> for JsonValue
[src]
impl From<i8> for JsonValue
[src]
impl PartialEq<i8> for JsonValue
[src]
fn eq(&self, other: &i8) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &Rhs) -> bool
1.0.0
This method tests for !=
.
impl<'a> PartialEq<i8> for &'a JsonValue
[src]
fn eq(&self, other: &i8) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &Rhs) -> bool
1.0.0
This method tests for !=
.
impl From<Option<i8>> for JsonValue
[src]
impl From<Vec<i8>> for JsonValue
[src]
impl From<Vec<Option<i8>>> for JsonValue
[src]
impl From<i16> for JsonValue
[src]
impl PartialEq<i16> for JsonValue
[src]
fn eq(&self, other: &i16) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &Rhs) -> bool
1.0.0
This method tests for !=
.
impl<'a> PartialEq<i16> for &'a JsonValue
[src]
fn eq(&self, other: &i16) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &Rhs) -> bool
1.0.0
This method tests for !=
.
impl From<Option<i16>> for JsonValue
[src]
impl From<Vec<i16>> for JsonValue
[src]
impl From<Vec<Option<i16>>> for JsonValue
[src]
impl From<i32> for JsonValue
[src]
impl PartialEq<i32> for JsonValue
[src]
fn eq(&self, other: &i32) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &Rhs) -> bool
1.0.0
This method tests for !=
.
impl<'a> PartialEq<i32> for &'a JsonValue
[src]
fn eq(&self, other: &i32) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &Rhs) -> bool
1.0.0
This method tests for !=
.
impl From<Option<i32>> for JsonValue
[src]
impl From<Vec<i32>> for JsonValue
[src]
impl From<Vec<Option<i32>>> for JsonValue
[src]
impl From<i64> for JsonValue
[src]
impl PartialEq<i64> for JsonValue
[src]
fn eq(&self, other: &i64) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &Rhs) -> bool
1.0.0
This method tests for !=
.
impl<'a> PartialEq<i64> for &'a JsonValue
[src]
fn eq(&self, other: &i64) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &Rhs) -> bool
1.0.0
This method tests for !=
.
impl From<Option<i64>> for JsonValue
[src]
impl From<Vec<i64>> for JsonValue
[src]
impl From<Vec<Option<i64>>> for JsonValue
[src]
impl From<u8> for JsonValue
[src]
impl PartialEq<u8> for JsonValue
[src]
fn eq(&self, other: &u8) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &Rhs) -> bool
1.0.0
This method tests for !=
.
impl<'a> PartialEq<u8> for &'a JsonValue
[src]
fn eq(&self, other: &u8) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &Rhs) -> bool
1.0.0
This method tests for !=
.
impl From<Option<u8>> for JsonValue
[src]
impl From<Vec<u8>> for JsonValue
[src]
impl From<Vec<Option<u8>>> for JsonValue
[src]
impl From<u16> for JsonValue
[src]
impl PartialEq<u16> for JsonValue
[src]
fn eq(&self, other: &u16) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &Rhs) -> bool
1.0.0
This method tests for !=
.
impl<'a> PartialEq<u16> for &'a JsonValue
[src]
fn eq(&self, other: &u16) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &Rhs) -> bool
1.0.0
This method tests for !=
.
impl From<Option<u16>> for JsonValue
[src]
impl From<Vec<u16>> for JsonValue
[src]
impl From<Vec<Option<u16>>> for JsonValue
[src]
impl From<u32> for JsonValue
[src]
impl PartialEq<u32> for JsonValue
[src]
fn eq(&self, other: &u32) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &Rhs) -> bool
1.0.0
This method tests for !=
.
impl<'a> PartialEq<u32> for &'a JsonValue
[src]
fn eq(&self, other: &u32) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &Rhs) -> bool
1.0.0
This method tests for !=
.
impl From<Option<u32>> for JsonValue
[src]
impl From<Vec<u32>> for JsonValue
[src]
impl From<Vec<Option<u32>>> for JsonValue
[src]
impl From<u64> for JsonValue
[src]
impl PartialEq<u64> for JsonValue
[src]
fn eq(&self, other: &u64) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &Rhs) -> bool
1.0.0
This method tests for !=
.
impl<'a> PartialEq<u64> for &'a JsonValue
[src]
fn eq(&self, other: &u64) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &Rhs) -> bool
1.0.0
This method tests for !=
.
impl From<Option<u64>> for JsonValue
[src]
impl From<Vec<u64>> for JsonValue
[src]
impl From<Vec<Option<u64>>> for JsonValue
[src]
impl From<f32> for JsonValue
[src]
impl PartialEq<f32> for JsonValue
[src]
fn eq(&self, other: &f32) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &Rhs) -> bool
1.0.0
This method tests for !=
.
impl<'a> PartialEq<f32> for &'a JsonValue
[src]
fn eq(&self, other: &f32) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &Rhs) -> bool
1.0.0
This method tests for !=
.
impl From<Option<f32>> for JsonValue
[src]
impl From<Vec<f32>> for JsonValue
[src]
impl From<Vec<Option<f32>>> for JsonValue
[src]
impl From<f64> for JsonValue
[src]
impl PartialEq<f64> for JsonValue
[src]
fn eq(&self, other: &f64) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &Rhs) -> bool
1.0.0
This method tests for !=
.
impl<'a> PartialEq<f64> for &'a JsonValue
[src]
fn eq(&self, other: &f64) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &Rhs) -> bool
1.0.0
This method tests for !=
.
impl From<Option<f64>> for JsonValue
[src]
impl From<Vec<f64>> for JsonValue
[src]
impl From<Vec<Option<f64>>> for JsonValue
[src]
impl From<Object> for JsonValue
[src]
impl PartialEq<Object> for JsonValue
[src]
fn eq(&self, other: &Object) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &Rhs) -> bool
1.0.0
This method tests for !=
.
impl<'a> PartialEq<Object> for &'a JsonValue
[src]
fn eq(&self, other: &Object) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &Rhs) -> bool
1.0.0
This method tests for !=
.
impl From<Option<Object>> for JsonValue
[src]
impl From<Vec<Object>> for JsonValue
[src]
impl From<Vec<Option<Object>>> for JsonValue
[src]
impl From<Array> for JsonValue
[src]
impl PartialEq<Array> for JsonValue
[src]
fn eq(&self, other: &Array) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &Rhs) -> bool
1.0.0
This method tests for !=
.
impl<'a> PartialEq<Array> for &'a JsonValue
[src]
fn eq(&self, other: &Array) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &Rhs) -> bool
1.0.0
This method tests for !=
.
impl From<Option<Array>> for JsonValue
[src]
impl From<Vec<Array>> for JsonValue
[src]
impl From<Vec<Option<Array>>> for JsonValue
[src]
impl From<bool> for JsonValue
[src]
impl PartialEq<bool> for JsonValue
[src]
fn eq(&self, other: &bool) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &Rhs) -> bool
1.0.0
This method tests for !=
.
impl<'a> PartialEq<bool> for &'a JsonValue
[src]
fn eq(&self, other: &bool) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &Rhs) -> bool
1.0.0
This method tests for !=
.