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