1#include <iostream>
2#include <nlohmann/json.hpp>
3
4using json = nlohmann::json;
5
6int main()
7{
8    // different JSON Pointers
9    json::json_pointer ptr1("");
10    json::json_pointer ptr2("/foo");
11    json::json_pointer ptr3("/foo/0");
12    json::json_pointer ptr4("/");
13    json::json_pointer ptr5("/a~1b");
14    json::json_pointer ptr6("/c%d");
15    json::json_pointer ptr7("/e^f");
16    json::json_pointer ptr8("/g|h");
17    json::json_pointer ptr9("/i\\j");
18    json::json_pointer ptr10("/k\"l");
19    json::json_pointer ptr11("/ ");
20    json::json_pointer ptr12("/m~0n");
21
22    std::cout << "\"" << ptr1.to_string() << "\"\n"
23              << "\"" << ptr2.to_string() << "\"\n"
24              << "\"" << ptr3.to_string() << "\"\n"
25              << "\"" << ptr4.to_string() << "\"\n"
26              << "\"" << ptr5.to_string() << "\"\n"
27              << "\"" << ptr6.to_string() << "\"\n"
28              << "\"" << ptr7.to_string() << "\"\n"
29              << "\"" << ptr8.to_string() << "\"\n"
30              << "\"" << ptr9.to_string() << "\"\n"
31              << "\"" << ptr10.to_string() << "\"\n"
32              << "\"" << ptr11.to_string() << "\"\n"
33              << "\"" << ptr12.to_string() << "\"" << std::endl;
34}
35