951d0920fc
The example with the size() operator is bad: using operator[] already changes the size of the object. The fix makes it clearer.
38 lines
741 B
C++
38 lines
741 B
C++
#include <json.hpp>
|
|
#include <iomanip> // for std::setw
|
|
|
|
using json = nlohmann::json;
|
|
|
|
int main()
|
|
{
|
|
// create a JSON object
|
|
json j =
|
|
{
|
|
{"pi", 3.141},
|
|
{"happy", true},
|
|
{"name", "Niels"},
|
|
{"nothing", nullptr},
|
|
{
|
|
"answer", {
|
|
{"everything", 42}
|
|
}
|
|
},
|
|
{"list", {1, 0, 2}},
|
|
{
|
|
"object", {
|
|
{"currency", "USD"},
|
|
{"value", 42.99}
|
|
}
|
|
}
|
|
};
|
|
|
|
// add new values
|
|
j["new"]["key"]["value"] = {"another", "list"};
|
|
|
|
// count elements
|
|
auto s = j.size();
|
|
j["size"] = s;
|
|
|
|
// pretty print with indent of 4 spaces
|
|
std::cout << std::setw(4) << j << '\n';
|
|
}
|