| #include <iostream> | |
| #include <nlohmann/json.hpp> | |
| #include <iomanip> // for std::setw | |
| using json = nlohmann::json; | |
| using namespace nlohmann::literals; | |
| int main() | |
| { | |
| // the original document | |
| json document = R"({ | |
| "title": "Goodbye!", | |
| "author": { | |
| "givenName": "John", | |
| "familyName": "Doe" | |
| }, | |
| "tags": [ | |
| "example", | |
| "sample" | |
| ], | |
| "content": "This will be unchanged" | |
| })"_json; | |
| // the patch | |
| json patch = R"({ | |
| "title": "Hello!", | |
| "phoneNumber": "+01-123-456-7890", | |
| "author": { | |
| "familyName": null | |
| }, | |
| "tags": [ | |
| "example" | |
| ] | |
| })"_json; | |
| // apply the patch | |
| document.merge_patch(patch); | |
| // output original and patched document | |
| std::cout << std::setw(4) << document << std::endl; | |
| } |