• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #include <iostream>
2 #include <nlohmann/json.hpp>
3 
4 using json = nlohmann::json;
5 
main()6 int 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