1c5f01b2fSopenharmony_ci#include <iostream> 2c5f01b2fSopenharmony_ci#include <nlohmann/json.hpp> 3c5f01b2fSopenharmony_ci 4c5f01b2fSopenharmony_ciusing json = nlohmann::json; 5c5f01b2fSopenharmony_ci 6c5f01b2fSopenharmony_ciint main() 7c5f01b2fSopenharmony_ci{ 8c5f01b2fSopenharmony_ci // create JSON values 9c5f01b2fSopenharmony_ci json j_object = {{"one", 1}, {"two", 2}}; 10c5f01b2fSopenharmony_ci json j_array = {1, 2, 4, 8, 16}; 11c5f01b2fSopenharmony_ci json j_string = "Hellö !"; 12c5f01b2fSopenharmony_ci 13c5f01b2fSopenharmony_ci // call dump() 14c5f01b2fSopenharmony_ci std::cout << "objects:" << '\n' 15c5f01b2fSopenharmony_ci << j_object.dump() << "\n\n" 16c5f01b2fSopenharmony_ci << j_object.dump(-1) << "\n\n" 17c5f01b2fSopenharmony_ci << j_object.dump(0) << "\n\n" 18c5f01b2fSopenharmony_ci << j_object.dump(4) << "\n\n" 19c5f01b2fSopenharmony_ci << j_object.dump(1, '\t') << "\n\n"; 20c5f01b2fSopenharmony_ci 21c5f01b2fSopenharmony_ci std::cout << "arrays:" << '\n' 22c5f01b2fSopenharmony_ci << j_array.dump() << "\n\n" 23c5f01b2fSopenharmony_ci << j_array.dump(-1) << "\n\n" 24c5f01b2fSopenharmony_ci << j_array.dump(0) << "\n\n" 25c5f01b2fSopenharmony_ci << j_array.dump(4) << "\n\n" 26c5f01b2fSopenharmony_ci << j_array.dump(1, '\t') << "\n\n"; 27c5f01b2fSopenharmony_ci 28c5f01b2fSopenharmony_ci std::cout << "strings:" << '\n' 29c5f01b2fSopenharmony_ci << j_string.dump() << '\n' 30c5f01b2fSopenharmony_ci << j_string.dump(-1, ' ', true) << '\n'; 31c5f01b2fSopenharmony_ci 32c5f01b2fSopenharmony_ci // create JSON value with invalid UTF-8 byte sequence 33c5f01b2fSopenharmony_ci json j_invalid = "ä\xA9ü"; 34c5f01b2fSopenharmony_ci try 35c5f01b2fSopenharmony_ci { 36c5f01b2fSopenharmony_ci std::cout << j_invalid.dump() << std::endl; 37c5f01b2fSopenharmony_ci } 38c5f01b2fSopenharmony_ci catch (json::type_error& e) 39c5f01b2fSopenharmony_ci { 40c5f01b2fSopenharmony_ci std::cout << e.what() << std::endl; 41c5f01b2fSopenharmony_ci } 42c5f01b2fSopenharmony_ci 43c5f01b2fSopenharmony_ci std::cout << "string with replaced invalid characters: " 44c5f01b2fSopenharmony_ci << j_invalid.dump(-1, ' ', false, json::error_handler_t::replace) 45c5f01b2fSopenharmony_ci << "\nstring with ignored invalid characters: " 46c5f01b2fSopenharmony_ci << j_invalid.dump(-1, ' ', false, json::error_handler_t::ignore) 47c5f01b2fSopenharmony_ci << '\n'; 48c5f01b2fSopenharmony_ci} 49