json/doc/examples/diff.cpp

37 lines
705 B
C++
Raw Normal View History

#include <iostream>
2018-08-17 03:53:47 +08:00
#include <iomanip>
#include <nlohmann/json.hpp>
2016-04-26 05:17:04 +08:00
using json = nlohmann::json;
int main()
{
// the source document
json source = R"(
{
"baz": "qux",
"foo": "bar"
}
)"_json;
// the target document
json target = R"(
{
"baz": "boo",
"hello": [
"world"
]
}
)"_json;
// create the patch
json patch = json::diff(source, target);
// roundtrip
json patched_source = source.patch(patch);
// output patch and roundtrip result
std::cout << std::setw(4) << patch << "\n\n"
<< std::setw(4) << patched_source << std::endl;
}