nlohmann::json_pointer::operator/¶
// (1)
json_pointer operator/(const json_pointer& lhs, const json_pointer& rhs);
// (2)
json_pointer operator/(const json_pointer& lhs, string_t token);
// (3)
json_pointer operator/(const json_pointer& lhs, std::size_t array_idx);
- create a new JSON pointer by appending the right JSON pointer at the end of the left JSON pointer
- create a new JSON pointer by appending the unescaped token at the end of the JSON pointer
- create a new JSON pointer by appending the array-index-token at the end of the JSON pointer
Parameters¶
lhs
(in)- JSON pointer
rhs
(in)- JSON pointer to append
token
(in)- reference token to append
array_idx
(in)- array index to append
Return value¶
- a new JSON pointer with
rhs
appended tolhs
- a new JSON pointer with unescaped
token
appended tolhs
- a new JSON pointer with
array_idx
appended tolhs
Complexity¶
- Linear in the length of
lhs
andrhs
. - Linear in the length of
lhs
. - Linear in the length of
lhs
.
Examples¶
Example
The example shows the usage of operator/
.
#include <iostream>
#include <nlohmann/json.hpp>
using json = nlohmann::json;
int main()
{
// create a JSON pointer
json::json_pointer ptr("/foo");
// append a JSON Pointer
std::cout << "\"" << ptr / json::json_pointer("/bar/baz") << "\"\n";
// append a string
std::cout << "\"" << ptr / "fob" << "\"\n";
// append an array index
std::cout << "\"" << ptr / 42 << "\"" << std::endl;
}
Output:
"/foo/bar/baz"
"/foo/fob"
"/foo/42"
Version history¶
- Added in version 3.6.0.
- Added in version 3.6.0. Changed type of
token
tostring_t
in version 3.11.0. - Added in version 3.6.0.