#include #include #include using json = nlohmann::json; int main() { // create a JSON value with different types json json_types = { {"boolean", true}, { "number", { {"integer", 42}, {"floating-point", 17.23} } }, {"string", "Hello, world!"}, {"array", {1, 2, 3, 4, 5}}, {"null", nullptr} }; // use explicit conversions auto v1 = json_types["boolean"].template get(); auto v2 = json_types["number"]["integer"].template get(); auto v3 = json_types["number"]["integer"].template get(); auto v4 = json_types["number"]["floating-point"].template get(); auto v5 = json_types["number"]["floating-point"].template get(); auto v6 = json_types["string"].template get(); auto v7 = json_types["array"].template get>(); auto v8 = json_types.template get>(); // print the conversion results std::cout << v1 << '\n'; std::cout << v2 << ' ' << v3 << '\n'; std::cout << v4 << ' ' << v5 << '\n'; std::cout << v6 << '\n'; for (auto i : v7) { std::cout << i << ' '; } std::cout << "\n\n"; for (auto i : v8) { std::cout << i.first << ": " << i.second << '\n'; } }