Trait serde_json::value::Index

source ·
pub trait Index: Sealed { }
Expand description

A type that can be used to index into a serde_json::Value.

The get and get_mut methods of Value accept any type that implements Index, as does the square-bracket indexing operator. This trait is implemented for strings which are used as the index into a JSON map, and for usize which is used as the index into a JSON array.

This trait is sealed and cannot be implemented for types outside of serde_json.


let data = json!({ "inner": [1, 2, 3] });

// Data is a JSON map so it can be indexed with a string.
let inner = &data["inner"];

// Inner is a JSON array so it can be indexed with an integer.
let first = &inner[0];

assert_eq!(first, 1);

Implementations on Foreign Types§


impl Index for str


impl Index for usize


impl Index for String


impl<'a, T> Index for &'a T
where T: ?Sized + Index,