pub enum Json {
Array(Box<[Json]>),
Object(Map<Box<str>, Json>),
String(Box<str>),
Number(f64),
True,
False,
Null,
}
Expand description
Represents a JSON object
Variants§
Implementations§
Source§impl Json
impl Json
Sourcepub fn deserialize(text: impl AsRef<str>) -> Result<Json, Error>
pub fn deserialize(text: impl AsRef<str>) -> Result<Json, Error>
Sourcepub fn deserialize_with_config(
text: impl AsRef<str>,
conf: JsonConfig,
) -> Result<Json, Error>
pub fn deserialize_with_config( text: impl AsRef<str>, conf: JsonConfig, ) -> Result<Json, Error>
Deserializes the given string into a Json object
using the given JsonConfig
Sourcepub fn serialize(&self, out: &mut dyn Write) -> Result
pub fn serialize(&self, out: &mut dyn Write) -> Result
Serializes the JSON object into a fmt::Write
Sourcepub fn get(&self, key: impl AsRef<str>) -> Option<&Json>
pub fn get(&self, key: impl AsRef<str>) -> Option<&Json>
Attempts to get a value of the given json object. If the json enum is not an Object variant, or if it doesn’t contain the key, returns None
Sourcepub fn get_mut(&mut self, key: impl AsRef<str>) -> Option<&mut Json>
pub fn get_mut(&mut self, key: impl AsRef<str>) -> Option<&mut Json>
Same as get, but with a mutable reference
Sourcepub fn nth(&self, i: usize) -> Option<&Json>
pub fn nth(&self, i: usize) -> Option<&Json>
Attempts to get a value of the given json array. If the json enum is not an Array variant, or if it doesn’t contain the key, returns None
Sourcepub fn nth_mut(&mut self, i: usize) -> Option<&mut Json>
pub fn nth_mut(&mut self, i: usize) -> Option<&mut Json>
Same as nth, but with a mutable reference
Sourcepub const fn expect_number(&self) -> f64
pub const fn expect_number(&self) -> f64
Sourcepub const fn number_mut(&mut self) -> Option<&mut f64>
pub const fn number_mut(&mut self) -> Option<&mut f64>
Sourcepub const fn expect_number_mut(&mut self) -> &mut f64
pub const fn expect_number_mut(&mut self) -> &mut f64
Sourcepub const fn expect_string(&self) -> &str
pub const fn expect_string(&self) -> &str
Sourcepub const fn string_mut(&mut self) -> Option<&mut str>
pub const fn string_mut(&mut self) -> Option<&mut str>
Sourcepub const fn expect_string_mut(&mut self) -> &mut str
pub const fn expect_string_mut(&mut self) -> &mut str
Sourcepub const fn object(&self) -> Option<&Map<Box<str>, Json>>
pub const fn object(&self) -> Option<&Map<Box<str>, Json>>
Attempts to get the inner Object of the json object, if it is an Object variant
Sourcepub const fn expect_object(&self) -> &Map<Box<str>, Json>
pub const fn expect_object(&self) -> &Map<Box<str>, Json>
Sourcepub const fn expect_object_mut(&mut self) -> &mut Map<Box<str>, Json>
pub const fn expect_object_mut(&mut self) -> &mut Map<Box<str>, Json>
Sourcepub const fn array(&self) -> Option<&[Json]>
pub const fn array(&self) -> Option<&[Json]>
Attempts to get the inner Array of the json object, if it is an Array variant
Sourcepub const fn expect_array(&self) -> &[Json]
pub const fn expect_array(&self) -> &[Json]
Sourcepub const fn array_mut(&mut self) -> Option<&mut [Json]>
pub const fn array_mut(&mut self) -> Option<&mut [Json]>
Attempts to get the inner Array of the json object, if it is an Array variant
Sourcepub const fn expect_array_mut(&mut self) -> &mut [Json]
pub const fn expect_array_mut(&mut self) -> &mut [Json]
Sourcepub const fn boolean(&self) -> Option<bool>
pub const fn boolean(&self) -> Option<bool>
Attempts to get the inner boolean value of the json object, if it is a True or False variant
Sourcepub const fn expect_boolean(&self) -> bool
pub const fn expect_boolean(&self) -> bool
Trait Implementations§
Source§impl AddAssign<f32> for Json
impl AddAssign<f32> for Json
Source§fn add_assign(&mut self, rhs: f32)
fn add_assign(&mut self, rhs: f32)
+=
operation. Read moreSource§impl AddAssign<f64> for Json
impl AddAssign<f64> for Json
Source§fn add_assign(&mut self, rhs: f64)
fn add_assign(&mut self, rhs: f64)
+=
operation. Read moreSource§impl AddAssign<i16> for Json
impl AddAssign<i16> for Json
Source§fn add_assign(&mut self, rhs: i16)
fn add_assign(&mut self, rhs: i16)
+=
operation. Read moreSource§impl AddAssign<i32> for Json
impl AddAssign<i32> for Json
Source§fn add_assign(&mut self, rhs: i32)
fn add_assign(&mut self, rhs: i32)
+=
operation. Read moreSource§impl AddAssign<u16> for Json
impl AddAssign<u16> for Json
Source§fn add_assign(&mut self, rhs: u16)
fn add_assign(&mut self, rhs: u16)
+=
operation. Read moreSource§impl AddAssign<u8> for Json
impl AddAssign<u8> for Json
Source§fn add_assign(&mut self, rhs: u8)
fn add_assign(&mut self, rhs: u8)
+=
operation. Read moreSource§impl DivAssign<f32> for Json
impl DivAssign<f32> for Json
Source§fn div_assign(&mut self, rhs: f32)
fn div_assign(&mut self, rhs: f32)
/=
operation. Read moreSource§impl DivAssign<f64> for Json
impl DivAssign<f64> for Json
Source§fn div_assign(&mut self, rhs: f64)
fn div_assign(&mut self, rhs: f64)
/=
operation. Read moreSource§impl DivAssign<i16> for Json
impl DivAssign<i16> for Json
Source§fn div_assign(&mut self, rhs: i16)
fn div_assign(&mut self, rhs: i16)
/=
operation. Read moreSource§impl DivAssign<i32> for Json
impl DivAssign<i32> for Json
Source§fn div_assign(&mut self, rhs: i32)
fn div_assign(&mut self, rhs: i32)
/=
operation. Read moreSource§impl DivAssign<u16> for Json
impl DivAssign<u16> for Json
Source§fn div_assign(&mut self, rhs: u16)
fn div_assign(&mut self, rhs: u16)
/=
operation. Read moreSource§impl DivAssign<u8> for Json
impl DivAssign<u8> for Json
Source§fn div_assign(&mut self, rhs: u8)
fn div_assign(&mut self, rhs: u8)
/=
operation. Read moreSource§impl MulAssign<f32> for Json
impl MulAssign<f32> for Json
Source§fn mul_assign(&mut self, rhs: f32)
fn mul_assign(&mut self, rhs: f32)
*=
operation. Read moreSource§impl MulAssign<f64> for Json
impl MulAssign<f64> for Json
Source§fn mul_assign(&mut self, rhs: f64)
fn mul_assign(&mut self, rhs: f64)
*=
operation. Read moreSource§impl MulAssign<i16> for Json
impl MulAssign<i16> for Json
Source§fn mul_assign(&mut self, rhs: i16)
fn mul_assign(&mut self, rhs: i16)
*=
operation. Read moreSource§impl MulAssign<i32> for Json
impl MulAssign<i32> for Json
Source§fn mul_assign(&mut self, rhs: i32)
fn mul_assign(&mut self, rhs: i32)
*=
operation. Read moreSource§impl MulAssign<u16> for Json
impl MulAssign<u16> for Json
Source§fn mul_assign(&mut self, rhs: u16)
fn mul_assign(&mut self, rhs: u16)
*=
operation. Read moreSource§impl MulAssign<u8> for Json
impl MulAssign<u8> for Json
Source§fn mul_assign(&mut self, rhs: u8)
fn mul_assign(&mut self, rhs: u8)
*=
operation. Read moreSource§impl SubAssign<f32> for Json
impl SubAssign<f32> for Json
Source§fn sub_assign(&mut self, rhs: f32)
fn sub_assign(&mut self, rhs: f32)
-=
operation. Read moreSource§impl SubAssign<f64> for Json
impl SubAssign<f64> for Json
Source§fn sub_assign(&mut self, rhs: f64)
fn sub_assign(&mut self, rhs: f64)
-=
operation. Read moreSource§impl SubAssign<i16> for Json
impl SubAssign<i16> for Json
Source§fn sub_assign(&mut self, rhs: i16)
fn sub_assign(&mut self, rhs: i16)
-=
operation. Read moreSource§impl SubAssign<i32> for Json
impl SubAssign<i32> for Json
Source§fn sub_assign(&mut self, rhs: i32)
fn sub_assign(&mut self, rhs: i32)
-=
operation. Read moreSource§impl SubAssign<u16> for Json
impl SubAssign<u16> for Json
Source§fn sub_assign(&mut self, rhs: u16)
fn sub_assign(&mut self, rhs: u16)
-=
operation. Read moreSource§impl SubAssign<u8> for Json
impl SubAssign<u8> for Json
Source§fn sub_assign(&mut self, rhs: u8)
fn sub_assign(&mut self, rhs: u8)
-=
operation. Read more