1 #include <iostream> 2 #include <nlohmann/json.hpp> 3 4 using json = nlohmann::json; 5 main()6int main() 7 { 8 // create a JSON value 9 json j = 10 { 11 {"number", 1}, {"string", "foo"}, {"array", {1, 2}} 12 }; 13 14 std::cout << std::boolalpha 15 << j.contains("/number"_json_pointer) << '\n' 16 << j.contains("/string"_json_pointer) << '\n' 17 << j.contains("/array"_json_pointer) << '\n' 18 << j.contains("/array/1"_json_pointer) << '\n' 19 << j.contains("/array/-"_json_pointer) << '\n' 20 << j.contains("/array/4"_json_pointer) << '\n' 21 << j.contains("/baz"_json_pointer) << std::endl; 22 23 try 24 { 25 // try to use an array index with leading '0' 26 j.contains("/array/01"_json_pointer); 27 } 28 catch (json::parse_error& e) 29 { 30 std::cout << e.what() << '\n'; 31 } 32 33 try 34 { 35 // try to use an array index that is not a number 36 j.contains("/array/one"_json_pointer); 37 } 38 catch (json::parse_error& e) 39 { 40 std::cout << e.what() << '\n'; 41 } 42 } 43