#include #include #include using json = nlohmann::json; using namespace nlohmann::literals; int main() { // the original document json doc = R"( { "baz": "qux", "foo": "bar" } )"_json; // the patch json patch = R"( [ { "op": "replace", "path": "/baz", "value": "boo" }, { "op": "add", "path": "/hello", "value": ["world"] }, { "op": "remove", "path": "/foo"} ] )"_json; // output original document std::cout << "Before\n" << std::setw(4) << doc << std::endl; // apply the patch doc.patch_inplace(patch); // output patched document std::cout << "\nAfter\n" << std::setw(4) << doc << std::endl; }