Struct serde_json::Map
source · [−]pub struct Map<K, V> { /* private fields */ }
Expand description
Represents a JSON key/value type.
Implementations
sourceimpl Map<String, Value>
impl Map<String, Value>
sourcepub fn with_capacity(capacity: usize) -> Self
pub fn with_capacity(capacity: usize) -> Self
Makes a new empty Map with the given initial capacity.
sourcepub fn get<Q>(&self, key: &Q) -> Option<&Value> where
String: Borrow<Q>,
Q: ?Sized + Ord + Eq + Hash,
pub fn get<Q>(&self, key: &Q) -> Option<&Value> where
String: Borrow<Q>,
Q: ?Sized + Ord + Eq + Hash,
Returns a reference to the value corresponding to the key.
The key may be any borrowed form of the map’s key type, but the ordering on the borrowed form must match the ordering on the key type.
sourcepub fn contains_key<Q>(&self, key: &Q) -> bool where
String: Borrow<Q>,
Q: ?Sized + Ord + Eq + Hash,
pub fn contains_key<Q>(&self, key: &Q) -> bool where
String: Borrow<Q>,
Q: ?Sized + Ord + Eq + Hash,
Returns true if the map contains a value for the specified key.
The key may be any borrowed form of the map’s key type, but the ordering on the borrowed form must match the ordering on the key type.
sourcepub fn get_mut<Q>(&mut self, key: &Q) -> Option<&mut Value> where
String: Borrow<Q>,
Q: ?Sized + Ord + Eq + Hash,
pub fn get_mut<Q>(&mut self, key: &Q) -> Option<&mut Value> where
String: Borrow<Q>,
Q: ?Sized + Ord + Eq + Hash,
Returns a mutable reference to the value corresponding to the key.
The key may be any borrowed form of the map’s key type, but the ordering on the borrowed form must match the ordering on the key type.
sourcepub fn get_key_value<Q>(&self, key: &Q) -> Option<(&String, &Value)> where
String: Borrow<Q>,
Q: ?Sized + Ord + Eq + Hash,
pub fn get_key_value<Q>(&self, key: &Q) -> Option<(&String, &Value)> where
String: Borrow<Q>,
Q: ?Sized + Ord + Eq + Hash,
Returns the key-value pair matching the given key.
The key may be any borrowed form of the map’s key type, but the ordering on the borrowed form must match the ordering on the key type.
sourcepub fn insert(&mut self, k: String, v: Value) -> Option<Value>
pub fn insert(&mut self, k: String, v: Value) -> Option<Value>
Inserts a key-value pair into the map.
If the map did not have this key present, None
is returned.
If the map did have this key present, the value is updated, and the old value is returned.
sourcepub fn remove<Q>(&mut self, key: &Q) -> Option<Value> where
String: Borrow<Q>,
Q: ?Sized + Ord + Eq + Hash,
pub fn remove<Q>(&mut self, key: &Q) -> Option<Value> where
String: Borrow<Q>,
Q: ?Sized + Ord + Eq + Hash,
Removes a key from the map, returning the value at the key if the key was previously in the map.
The key may be any borrowed form of the map’s key type, but the ordering on the borrowed form must match the ordering on the key type.
sourcepub fn remove_entry<Q>(&mut self, key: &Q) -> Option<(String, Value)> where
String: Borrow<Q>,
Q: ?Sized + Ord + Eq + Hash,
pub fn remove_entry<Q>(&mut self, key: &Q) -> Option<(String, Value)> where
String: Borrow<Q>,
Q: ?Sized + Ord + Eq + Hash,
Removes a key from the map, returning the stored key and value if the key was previously in the map.
The key may be any borrowed form of the map’s key type, but the ordering on the borrowed form must match the ordering on the key type.
sourcepub fn append(&mut self, other: &mut Self)
pub fn append(&mut self, other: &mut Self)
Moves all elements from other into self, leaving other empty.
sourcepub fn entry<S>(&mut self, key: S) -> Entry<'_> where
S: Into<String>,
pub fn entry<S>(&mut self, key: S) -> Entry<'_> where
S: Into<String>,
Gets the given key’s corresponding entry in the map for in-place manipulation.
sourcepub fn iter(&self) -> Iter<'_>ⓘNotable traits for Iter<'a>impl<'a> Iterator for Iter<'a> type Item = (&'a String, &'a Value);
pub fn iter(&self) -> Iter<'_>ⓘNotable traits for Iter<'a>impl<'a> Iterator for Iter<'a> type Item = (&'a String, &'a Value);
Gets an iterator over the entries of the map.
sourcepub fn iter_mut(&mut self) -> IterMut<'_>ⓘNotable traits for IterMut<'a>impl<'a> Iterator for IterMut<'a> type Item = (&'a String, &'a mut Value);
pub fn iter_mut(&mut self) -> IterMut<'_>ⓘNotable traits for IterMut<'a>impl<'a> Iterator for IterMut<'a> type Item = (&'a String, &'a mut Value);
Gets a mutable iterator over the entries of the map.
sourcepub fn keys(&self) -> Keys<'_>ⓘNotable traits for Keys<'a>impl<'a> Iterator for Keys<'a> type Item = &'a String;
pub fn keys(&self) -> Keys<'_>ⓘNotable traits for Keys<'a>impl<'a> Iterator for Keys<'a> type Item = &'a String;
Gets an iterator over the keys of the map.
sourcepub fn values(&self) -> Values<'_>ⓘNotable traits for Values<'a>impl<'a> Iterator for Values<'a> type Item = &'a Value;
pub fn values(&self) -> Values<'_>ⓘNotable traits for Values<'a>impl<'a> Iterator for Values<'a> type Item = &'a Value;
Gets an iterator over the values of the map.
Trait Implementations
sourceimpl<'de> Deserialize<'de> for Map<String, Value>
impl<'de> Deserialize<'de> for Map<String, Value>
sourcefn deserialize<D>(deserializer: D) -> Result<Self, D::Error> where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error> where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
sourceimpl Extend<(String, Value)> for Map<String, Value>
impl Extend<(String, Value)> for Map<String, Value>
sourcefn extend<T>(&mut self, iter: T) where
T: IntoIterator<Item = (String, Value)>,
fn extend<T>(&mut self, iter: T) where
T: IntoIterator<Item = (String, Value)>,
Extends a collection with the contents of an iterator. Read more
sourcefn extend_one(&mut self, item: A)
fn extend_one(&mut self, item: A)
extend_one
)Extends a collection with exactly one element.
sourcefn extend_reserve(&mut self, additional: usize)
fn extend_reserve(&mut self, additional: usize)
extend_one
)Reserves capacity in a collection for the given number of additional elements. Read more
sourceimpl<'a, Q> Index<&'a Q> for Map<String, Value> where
String: Borrow<Q>,
Q: ?Sized + Ord + Eq + Hash,
impl<'a, Q> Index<&'a Q> for Map<String, Value> where
String: Borrow<Q>,
Q: ?Sized + Ord + Eq + Hash,
Access an element of this map. Panics if the given key is not present in the map.
match val {
Value::String(s) => Some(s.as_str()),
Value::Array(arr) => arr[0].as_str(),
Value::Object(map) => map["type"].as_str(),
_ => None,
}
sourceimpl<'a, Q> IndexMut<&'a Q> for Map<String, Value> where
String: Borrow<Q>,
Q: ?Sized + Ord + Eq + Hash,
impl<'a, Q> IndexMut<&'a Q> for Map<String, Value> where
String: Borrow<Q>,
Q: ?Sized + Ord + Eq + Hash,
Mutably access an element of this map. Panics if the given key is not present in the map.
map["key"] = json!("value");
sourceimpl<'a> IntoIterator for &'a Map<String, Value>
impl<'a> IntoIterator for &'a Map<String, Value>
sourceimpl<'a> IntoIterator for &'a mut Map<String, Value>
impl<'a> IntoIterator for &'a mut Map<String, Value>
sourceimpl IntoIterator for Map<String, Value>
impl IntoIterator for Map<String, Value>
impl Eq for Map<String, Value>
Auto Trait Implementations
impl<K, V> RefUnwindSafe for Map<K, V> where
K: RefUnwindSafe,
V: RefUnwindSafe,
impl<K, V> Send for Map<K, V> where
K: Send,
V: Send,
impl<K, V> Sync for Map<K, V> where
K: Sync,
V: Sync,
impl<K, V> Unpin for Map<K, V>
impl<K, V> UnwindSafe for Map<K, V> where
K: RefUnwindSafe,
V: RefUnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
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.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more