nlohmann::operator""_json_pointer¶
json_pointer operator ""_json_pointer(const char* s, std::size_t n);
This operator implements a user-defined string literal for JSON Pointers. It can be used by adding _json_pointer
to a string literal and returns a json_pointer
object if no parse error occurred.
It is recommended to bring the operator into scope using any of the following lines:
using nlohmann::literals::operator ""_json_pointer;
using namespace nlohmann::literals;
using namespace nlohmann::json_literals;
using namespace nlohmann::literals::json_literals;
using namespace nlohmann;
JSON_USE_GLOBAL_UDLS
for details. Parameters¶
s
(in)- a string representation of a JSON Pointer
n
(in)- length of string
s
Return value¶
json_pointer
value parsed from s
Exceptions¶
The function can throw anything that json_pointer::json_pointer
would throw.
Complexity¶
Linear.
Examples¶
Example
The following code shows how to create JSON Pointers from string literals.
#include <iostream>
#include <iomanip>
#include <nlohmann/json.hpp>
using json = nlohmann::json;
using namespace nlohmann::literals;
int main()
{
json j = R"( {"hello": "world", "answer": 42} )"_json;
auto val = j["/hello"_json_pointer];
std::cout << std::setw(2) << val << '\n';
}
Output:
"world"
See also¶
- json_pointer - type to represent JSON Pointers
Version history¶
- Added in version 2.0.0.
- Moved to namespace
nlohmann::literals::json_literals
in 3.11.0.