json-patch (4.1.0)
Published 2026-03-26 10:59:44 +00:00 by siennathesane
Installation
[registry]
default = "gitea"
[registries.gitea]
index = "sparse+ " # Sparse index
# index = " " # Git
[net]
git-fetch-with-cli = truecargo add json-patch@4.1.0About this package
RFC 6902, JavaScript Object Notation (JSON) Patch
json-patch
A JSON Patch (RFC 6902) and JSON Merge Patch (RFC 7396) implementation for Rust.
Usage
Add this to your Cargo.toml:
[dependencies]
json-patch = "*"
Examples
Create and patch document using JSON Patch:
#[macro_use]
use json_patch::{Patch, patch};
use serde_json::{from_value, json};
let mut doc = json!([
{ "name": "Andrew" },
{ "name": "Maxim" }
]);
let p: Patch = from_value(json!([
{ "op": "test", "path": "/0/name", "value": "Andrew" },
{ "op": "add", "path": "/0/happy", "value": true }
])).unwrap();
patch(&mut doc, &p).unwrap();
assert_eq!(doc, json!([
{ "name": "Andrew", "happy": true },
{ "name": "Maxim" }
]));
Create and patch document using JSON Merge Patch:
#[macro_use]
use json_patch::merge;
use serde_json::json;
let mut doc = json!({
"title": "Goodbye!",
"author" : {
"givenName" : "John",
"familyName" : "Doe"
},
"tags":[ "example", "sample" ],
"content": "This will be unchanged"
});
let patch = json!({
"title": "Hello!",
"phoneNumber": "+01-123-456-7890",
"author": {
"familyName": null
},
"tags": [ "example" ]
});
merge(&mut doc, &patch);
assert_eq!(doc, json!({
"title": "Hello!",
"author" : {
"givenName" : "John"
},
"tags": [ "example" ],
"content": "This will be unchanged",
"phoneNumber": "+01-123-456-7890"
}));
License
Licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
Dependencies
| ID | Version |
|---|---|
| jsonptr | ^0.7.1 |
| schemars | ^1.0.4 |
| serde | ^1.0.159 |
| serde_json | ^1.0.95 |
| thiserror | ^1.0.40 |
| utoipa | ^5 |
| expectorate | ^1.0 |
| rand | ^0.8.5 |
| schemars | ^1.0.4 |
| serde_json | ^1.0.95 |
| serde_yaml | ^0.9.19 |
| utoipa | ^5 |
Keywords
json
json-patch
Details
2026-03-26 10:59:44 +00:00
Assets (1)
Versions (1)
View all
Cargo
0
Ivan Dubrov <dubrov.ivan@gmail.com>
MIT/Apache-2.0
28 KiB
json-patch-4.1.0.crate
28 KiB
4.1.0
2026-03-26