| #include <iostream> |
| #include <nlohmann/json.hpp> |
| |
| using json = nlohmann::json; |
| |
| int main() |
| { |
| // create JSON values |
| json j_array = {"alpha", "bravo", "charly", "delta", "easy"}; |
| json j_number = 42; |
| json j_object = {{"one", "eins"}, {"two", "zwei"}}; |
| |
| // create copies using iterators |
| json j_array_range(j_array.begin() + 1, j_array.end() - 2); |
| json j_number_range(j_number.begin(), j_number.end()); |
| json j_object_range(j_object.begin(), j_object.find("two")); |
| |
| // serialize the values |
| std::cout << j_array_range << '\n'; |
| std::cout << j_number_range << '\n'; |
| std::cout << j_object_range << '\n'; |
| |
| // example for an exception |
| try |
| { |
| json j_invalid(j_number.begin() + 1, j_number.end()); |
| } |
| catch (json::invalid_iterator& e) |
| { |
| std::cout << e.what() << '\n'; |
| } |
| } |