pub enum CanonicalJsonValue {
Null,
Bool(bool),
Integer(Int),
String(String),
Array(Vec<CanonicalJsonValue>),
Object(BTreeMap<String, CanonicalJsonValue>),
}
canonical-json
only.Expand description
Represents a canonical JSON value as per the Matrix specification.
Variants§
Null
Represents a JSON null value.
let v: CanonicalJsonValue = json!(null).try_into().unwrap();
Bool(bool)
Represents a JSON boolean.
let v: CanonicalJsonValue = json!(true).try_into().unwrap();
Integer(Int)
Represents a JSON integer.
let v: CanonicalJsonValue = json!(12).try_into().unwrap();
String(String)
Represents a JSON string.
let v: CanonicalJsonValue = json!("a string").try_into().unwrap();
Array(Vec<CanonicalJsonValue>)
Represents a JSON array.
let v: CanonicalJsonValue = json!(["an", "array"]).try_into().unwrap();
Object(BTreeMap<String, CanonicalJsonValue>)
Represents a JSON object.
The map is backed by a BTreeMap to guarantee the sorting of keys.
let v: CanonicalJsonValue = json!({ "an": "object" }).try_into().unwrap();
Implementations§
§impl CanonicalJsonValue
impl CanonicalJsonValue
pub fn as_integer(&self) -> Option<Int>
pub fn as_integer(&self) -> Option<Int>
If the CanonicalJsonValue
is an Integer
, return the inner value.
pub fn as_str(&self) -> Option<&str>
pub fn as_str(&self) -> Option<&str>
If the CanonicalJsonValue
is a String
, return a reference to the inner value.
pub fn as_array(&self) -> Option<&[CanonicalJsonValue]>
pub fn as_array(&self) -> Option<&[CanonicalJsonValue]>
If the CanonicalJsonValue
is an Array
, return a reference to the inner value.
pub fn as_object(&self) -> Option<&BTreeMap<String, CanonicalJsonValue>>
pub fn as_object(&self) -> Option<&BTreeMap<String, CanonicalJsonValue>>
If the CanonicalJsonValue
is an Object
, return a reference to the inner value.
pub fn as_array_mut(&mut self) -> Option<&mut Vec<CanonicalJsonValue>>
pub fn as_array_mut(&mut self) -> Option<&mut Vec<CanonicalJsonValue>>
If the CanonicalJsonValue
is an Array
, return a mutable reference to the inner value.
pub fn as_object_mut(
&mut self
) -> Option<&mut BTreeMap<String, CanonicalJsonValue>>
pub fn as_object_mut( &mut self ) -> Option<&mut BTreeMap<String, CanonicalJsonValue>>
If the CanonicalJsonValue
is an Object
, return a mutable reference to the inner value.
pub fn is_integer(&self) -> bool
pub fn is_integer(&self) -> bool
Returns true
if the CanonicalJsonValue
is an Integer
.
Trait Implementations§
§impl Clone for CanonicalJsonValue
impl Clone for CanonicalJsonValue
§fn clone(&self) -> CanonicalJsonValue
fn clone(&self) -> CanonicalJsonValue
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more§impl Debug for CanonicalJsonValue
impl Debug for CanonicalJsonValue
§impl Default for CanonicalJsonValue
impl Default for CanonicalJsonValue
§fn default() -> CanonicalJsonValue
fn default() -> CanonicalJsonValue
§impl<'de> Deserialize<'de> for CanonicalJsonValue
impl<'de> Deserialize<'de> for CanonicalJsonValue
§fn deserialize<D>(
deserializer: D
) -> Result<CanonicalJsonValue, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
fn deserialize<D>(
deserializer: D
) -> Result<CanonicalJsonValue, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
§impl Display for CanonicalJsonValue
impl Display for CanonicalJsonValue
§fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>
fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>
Display this value as a string.
This Display
implementation is intentionally unaffected by any formatting parameters,
because adding extra whitespace or otherwise pretty-printing it would make it not the
canonical form anymore.
If you want to pretty-print a CanonicalJsonValue
for debugging purposes, use
one of serde_json::{to_string_pretty, to_vec_pretty, to_writer_pretty}
.
§impl From<&str> for CanonicalJsonValue
impl From<&str> for CanonicalJsonValue
§fn from(val: &str) -> CanonicalJsonValue
fn from(val: &str) -> CanonicalJsonValue
§impl From<BTreeMap<String, CanonicalJsonValue>> for CanonicalJsonValue
impl From<BTreeMap<String, CanonicalJsonValue>> for CanonicalJsonValue
§fn from(val: BTreeMap<String, CanonicalJsonValue>) -> CanonicalJsonValue
fn from(val: BTreeMap<String, CanonicalJsonValue>) -> CanonicalJsonValue
§impl From<CanonicalJsonValue> for Value
impl From<CanonicalJsonValue> for Value
§fn from(val: CanonicalJsonValue) -> Value
fn from(val: CanonicalJsonValue) -> Value
§impl From<Int> for CanonicalJsonValue
impl From<Int> for CanonicalJsonValue
§fn from(val: Int) -> CanonicalJsonValue
fn from(val: Int) -> CanonicalJsonValue
§impl From<String> for CanonicalJsonValue
impl From<String> for CanonicalJsonValue
§fn from(val: String) -> CanonicalJsonValue
fn from(val: String) -> CanonicalJsonValue
§impl From<UInt> for CanonicalJsonValue
impl From<UInt> for CanonicalJsonValue
§fn from(value: UInt) -> CanonicalJsonValue
fn from(value: UInt) -> CanonicalJsonValue
§impl From<Vec<CanonicalJsonValue>> for CanonicalJsonValue
impl From<Vec<CanonicalJsonValue>> for CanonicalJsonValue
§fn from(val: Vec<CanonicalJsonValue>) -> CanonicalJsonValue
fn from(val: Vec<CanonicalJsonValue>) -> CanonicalJsonValue
§impl From<bool> for CanonicalJsonValue
impl From<bool> for CanonicalJsonValue
§fn from(val: bool) -> CanonicalJsonValue
fn from(val: bool) -> CanonicalJsonValue
§impl PartialEq<&str> for CanonicalJsonValue
impl PartialEq<&str> for CanonicalJsonValue
§impl PartialEq<BTreeMap<String, CanonicalJsonValue>> for CanonicalJsonValue
impl PartialEq<BTreeMap<String, CanonicalJsonValue>> for CanonicalJsonValue
§impl PartialEq<CanonicalJsonValue> for &str
impl PartialEq<CanonicalJsonValue> for &str
§fn eq(&self, other: &CanonicalJsonValue) -> bool
fn eq(&self, other: &CanonicalJsonValue) -> bool
self
and other
values to be equal, and is used
by ==
.§impl PartialEq<CanonicalJsonValue> for BTreeMap<String, CanonicalJsonValue>
impl PartialEq<CanonicalJsonValue> for BTreeMap<String, CanonicalJsonValue>
§fn eq(&self, other: &CanonicalJsonValue) -> bool
fn eq(&self, other: &CanonicalJsonValue) -> bool
self
and other
values to be equal, and is used
by ==
.§impl PartialEq<CanonicalJsonValue> for Int
impl PartialEq<CanonicalJsonValue> for Int
§fn eq(&self, other: &CanonicalJsonValue) -> bool
fn eq(&self, other: &CanonicalJsonValue) -> bool
self
and other
values to be equal, and is used
by ==
.§impl PartialEq<CanonicalJsonValue> for String
impl PartialEq<CanonicalJsonValue> for String
§fn eq(&self, other: &CanonicalJsonValue) -> bool
fn eq(&self, other: &CanonicalJsonValue) -> bool
self
and other
values to be equal, and is used
by ==
.§impl PartialEq<CanonicalJsonValue> for Vec<CanonicalJsonValue>
impl PartialEq<CanonicalJsonValue> for Vec<CanonicalJsonValue>
§fn eq(&self, other: &CanonicalJsonValue) -> bool
fn eq(&self, other: &CanonicalJsonValue) -> bool
self
and other
values to be equal, and is used
by ==
.§impl PartialEq<Int> for CanonicalJsonValue
impl PartialEq<Int> for CanonicalJsonValue
§impl PartialEq<String> for CanonicalJsonValue
impl PartialEq<String> for CanonicalJsonValue
§impl PartialEq<Vec<CanonicalJsonValue>> for CanonicalJsonValue
impl PartialEq<Vec<CanonicalJsonValue>> for CanonicalJsonValue
§fn eq(&self, other: &Vec<CanonicalJsonValue>) -> bool
fn eq(&self, other: &Vec<CanonicalJsonValue>) -> bool
self
and other
values to be equal, and is used
by ==
.§impl PartialEq<bool> for CanonicalJsonValue
impl PartialEq<bool> for CanonicalJsonValue
§impl PartialEq for CanonicalJsonValue
impl PartialEq for CanonicalJsonValue
§fn eq(&self, other: &CanonicalJsonValue) -> bool
fn eq(&self, other: &CanonicalJsonValue) -> bool
self
and other
values to be equal, and is used
by ==
.§impl Serialize for CanonicalJsonValue
impl Serialize for CanonicalJsonValue
§fn serialize<S>(
&self,
serializer: S
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
fn serialize<S>(
&self,
serializer: S
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
§impl TryFrom<Value> for CanonicalJsonValue
impl TryFrom<Value> for CanonicalJsonValue
§type Error = CanonicalJsonError
type Error = CanonicalJsonError
§fn try_from(
val: Value
) -> Result<CanonicalJsonValue, <CanonicalJsonValue as TryFrom<Value>>::Error>
fn try_from( val: Value ) -> Result<CanonicalJsonValue, <CanonicalJsonValue as TryFrom<Value>>::Error>
impl Eq for CanonicalJsonValue
impl StructuralEq for CanonicalJsonValue
impl StructuralPartialEq for CanonicalJsonValue
Auto Trait Implementations§
impl RefUnwindSafe for CanonicalJsonValue
impl Send for CanonicalJsonValue
impl Sync for CanonicalJsonValue
impl Unpin for CanonicalJsonValue
impl UnwindSafe for CanonicalJsonValue
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
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.