Enum rustc_target::json::Json
source · [−]pub enum Json {
Null,
Bool(bool),
Number(Number),
String(String),
Array(Vec<Value, Global>),
Object(Map<String, Value>),
}
Expand description
Represents any valid JSON value.
See the serde_json::value
module documentation for usage examples.
Variants
Null
Represents a JSON null value.
let v = json!(null);
Bool(bool)
Represents a JSON boolean.
let v = json!(true);
Number(Number)
Represents a JSON number, whether integer or floating point.
let v = json!(12.5);
String(String)
Represents a JSON string.
let v = json!("a string");
Array(Vec<Value, Global>)
Represents a JSON array.
let v = json!(["an", "array"]);
Object(Map<String, Value>)
Represents a JSON object.
By default the map is backed by a BTreeMap. Enable the preserve_order
feature of serde_json to use IndexMap instead, which preserves
entries in the order they are inserted into the map. In particular, this
allows JSON data to be deserialized into a Value and serialized to a
string while retaining the order of map keys in the input.
let v = json!({ "an": "object" });
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for Value
impl Send for Value
impl Sync for Value
impl Unpin for Value
impl UnwindSafe for Value
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
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:
Null
: 0 bytesBool
: 1 byteNumber
: 23 bytesString
: 31 bytesArray
: 31 bytesObject
: 31 bytes