1#include <iostream> 2#include <iomanip> 3#include <nlohmann/json.hpp> 4 5using json = nlohmann::json; 6using namespace nlohmann::literals; 7 8int main() 9{ 10 // the original document 11 json doc = R"( 12 { 13 "baz": "qux", 14 "foo": "bar" 15 } 16 )"_json; 17 18 // the patch 19 json patch = R"( 20 [ 21 { "op": "replace", "path": "/baz", "value": "boo" }, 22 { "op": "add", "path": "/hello", "value": ["world"] }, 23 { "op": "remove", "path": "/foo"} 24 ] 25 )"_json; 26 27 // output original document 28 std::cout << "Before\n" << std::setw(4) << doc << std::endl; 29 30 // apply the patch 31 doc.patch_inplace(patch); 32 33 // output patched document 34 std::cout << "\nAfter\n" << std::setw(4) << doc << std::endl; 35} 36