1 #include <iostream> 2 #include <nlohmann/json.hpp> 3 4 using json = nlohmann::json; 5 main()6int main() 7 { 8 // create JSON values 9 json j_boolean = true; 10 json j_number_integer = 17; 11 json j_number_float = 23.42; 12 json j_object = {{"one", 1}, {"two", 2}}; 13 json j_object_empty(json::value_t::object); 14 json j_array = {1, 2, 4, 8, 16}; 15 json j_array_empty(json::value_t::array); 16 json j_string = "Hello, world"; 17 18 // call back() 19 std::cout << j_boolean.back() << '\n'; 20 std::cout << j_number_integer.back() << '\n'; 21 std::cout << j_number_float.back() << '\n'; 22 std::cout << j_object.back() << '\n'; 23 //std::cout << j_object_empty.back() << '\n'; // undefined behavior 24 std::cout << j_array.back() << '\n'; 25 //std::cout << j_array_empty.back() << '\n'; // undefined behavior 26 std::cout << j_string.back() << '\n'; 27 28 // back() called on a null value 29 try 30 { 31 json j_null; 32 j_null.back(); 33 } 34 catch (json::invalid_iterator& e) 35 { 36 std::cout << e.what() << '\n'; 37 } 38 } 39