1
0
mirror of https://github.com/nlohmann/json.git synced 2025-07-24 02:21:01 +03:00

Add recursive update function (#3069)

*  add recursive update function
This commit is contained in:
Niels Lohmann
2021-11-03 13:52:20 +01:00
committed by GitHub
parent 7440786b81
commit 5d87c4d409
9 changed files with 243 additions and 128 deletions

View File

@ -7,12 +7,17 @@ using json = nlohmann::json;
int main()
{
// create two JSON objects
json o1 = R"( {"color": "red", "price": 17.99} )"_json;
json o2 = R"( {"color": "blue", "speed": 100} )"_json;
json o1 = R"( {"color": "red", "price": 17.99, "names": {"de": "Flugzeug"}} )"_json;
json o2 = R"( {"color": "blue", "speed": 100, "names": {"en": "plane"}} )"_json;
json o3 = o1;
// add all keys from o2 to o1 (updating "color")
// add all keys from o2 to o1 (updating "color", replacing "names")
o1.update(o2);
// output updated object o1
// add all keys from o2 to o1 (updating "color", merging "names")
o3.update(o2, true);
// output updated object o1 and o3
std::cout << std::setw(2) << o1 << '\n';
std::cout << std::setw(2) << o3 << '\n';
}