1c5f01b2fSopenharmony_ci#include <iostream> 2c5f01b2fSopenharmony_ci#include <nlohmann/json.hpp> 3c5f01b2fSopenharmony_ci 4c5f01b2fSopenharmony_ciusing json = nlohmann::json; 5c5f01b2fSopenharmony_ciusing namespace nlohmann::literals; 6c5f01b2fSopenharmony_ci 7c5f01b2fSopenharmony_ciint main() 8c5f01b2fSopenharmony_ci{ 9c5f01b2fSopenharmony_ci // create a JSON object with different entry types 10c5f01b2fSopenharmony_ci json j = 11c5f01b2fSopenharmony_ci { 12c5f01b2fSopenharmony_ci {"integer", 1}, 13c5f01b2fSopenharmony_ci {"floating", 42.23}, 14c5f01b2fSopenharmony_ci {"string", "hello world"}, 15c5f01b2fSopenharmony_ci {"boolean", true}, 16c5f01b2fSopenharmony_ci {"object", {{"key1", 1}, {"key2", 2}}}, 17c5f01b2fSopenharmony_ci {"array", {1, 2, 3}} 18c5f01b2fSopenharmony_ci }; 19c5f01b2fSopenharmony_ci 20c5f01b2fSopenharmony_ci // access existing values 21c5f01b2fSopenharmony_ci int v_integer = j.value("/integer"_json_pointer, 0); 22c5f01b2fSopenharmony_ci double v_floating = j.value("/floating"_json_pointer, 47.11); 23c5f01b2fSopenharmony_ci 24c5f01b2fSopenharmony_ci // access nonexisting values and rely on default value 25c5f01b2fSopenharmony_ci std::string v_string = j.value("/nonexisting"_json_pointer, "oops"); 26c5f01b2fSopenharmony_ci bool v_boolean = j.value("/nonexisting"_json_pointer, false); 27c5f01b2fSopenharmony_ci 28c5f01b2fSopenharmony_ci // output values 29c5f01b2fSopenharmony_ci std::cout << std::boolalpha << v_integer << " " << v_floating 30c5f01b2fSopenharmony_ci << " " << v_string << " " << v_boolean << "\n"; 31c5f01b2fSopenharmony_ci} 32