Struct jsonptr::Assignment
source · [−]pub struct Assignment<'a> {
pub assigned: Cow<'a, Value>,
pub replaced: Value,
pub created_or_mutated: Pointer,
pub assigned_to: Pointer,
}Expand description
The data structure returned from a successful call to assign.
Fields
assigned: Cow<'a, Value>The value that was assigned.
In the event a path is created, this will be the serde_json::Value
encompassing the new branch.
replaced: ValueThe value that was replaced.
Note: serde_json::Value::Null is utilized if the value did not
previously exist.
created_or_mutated: PointerThe path which was created or replaced.
For example, if you had the json:
{ "foo": { "bar": "baz" } }and you assigned "new_value" to "/foo/qux/quux", then
created_or_mutated would be Some("/foo/qux") as "qux" is the
top-level value assigned.
The resulting json would have the following structure:
{
"foo": {
"bar": "baz",
"qux": {
"quux": "new_value"
}
}
}Note: if a portion of the path contains a leaf node that is to be overridden by an object or an array, then the path will be the from the leaf that is replaced.
For example, if you had the json:
{ "foo:" "bar" }and you assigned "new_value" to "/foo/bar/baz", then created would
be Some("/foo/bar") as "/foo/bar" is the new path object.
assigned_to: PointerA Pointer consisting of the path which was assigned.
Example
use serde_json::json;
use jsonptr::{Pointer, Assign};
let mut data = json!({ "foo": ["zero"] });
let mut ptr = Pointer::try_from("/foo/-").unwrap();
let assignment = data.assign(&mut ptr, "one".into()).unwrap();
assert_eq!(assignment.assigned_to, Pointer::try_from("/foo/1").unwrap());Trait Implementations
Auto Trait Implementations
impl<'a> RefUnwindSafe for Assignment<'a>
impl<'a> Send for Assignment<'a>
impl<'a> Sync for Assignment<'a>
impl<'a> Unpin for Assignment<'a>
impl<'a> UnwindSafe for Assignment<'a>
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