1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- #include <iostream>
- #include <nlohmann/json.hpp>
- using json = nlohmann::json;
- int main()
- {
- // correct JSON pointers
- json::json_pointer p1;
- json::json_pointer p2("");
- json::json_pointer p3("/");
- json::json_pointer p4("//");
- json::json_pointer p5("/foo/bar");
- json::json_pointer p6("/foo/bar/-");
- json::json_pointer p7("/foo/~0");
- json::json_pointer p8("/foo/~1");
- // error: JSON pointer does not begin with a slash
- try
- {
- json::json_pointer p9("foo");
- }
- catch (json::parse_error& e)
- {
- std::cout << e.what() << '\n';
- }
- // error: JSON pointer uses escape symbol ~ not followed by 0 or 1
- try
- {
- json::json_pointer p10("/foo/~");
- }
- catch (json::parse_error& e)
- {
- std::cout << e.what() << '\n';
- }
- // error: JSON pointer uses escape symbol ~ not followed by 0 or 1
- try
- {
- json::json_pointer p11("/foo/~3");
- }
- catch (json::parse_error& e)
- {
- std::cout << e.what() << '\n';
- }
- }
|