mirror of
https://github.com/nlohmann/json.git
synced 2026-07-29 15:13:04 +04:00
81 lines
1.7 KiB
Markdown
81 lines
1.7 KiB
Markdown
# 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);
|
|
```
|
|
|
|
1. create a new JSON pointer by appending the right JSON pointer at the end of the left JSON pointer
|
|
1. create a new JSON pointer by appending the unescaped token at the end of the JSON pointer
|
|
1. 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
|
|
|
|
1. a new JSON pointer with `rhs` appended to `lhs`
|
|
1. a new JSON pointer with unescaped `token` appended to `lhs`
|
|
1. a new JSON pointer with `array_idx` appended to `lhs`
|
|
|
|
## Complexity
|
|
|
|
1. Linear in the length of `lhs` and `rhs`.
|
|
1. Linear in the length of `lhs`.
|
|
1. 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
|
|
|
|
1. Added in version 3.6.0.
|
|
1. Added in version 3.6.0. Changed type of `token` to `string_t` in version 3.11.0.
|
|
1. Added in version 3.6.0.
|