Skip to content

# 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
2. create a new JSON pointer by appending the unescaped token at the end of the JSON pointer
3. 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`
2. a new JSON pointer with unescaped `token` appended to `lhs`
3. a new JSON pointer with `array_idx` appended to `lhs`

## Complexity

1. Linear in the length of `lhs` and `rhs`.
2. Linear in the length of `lhs`.
3. 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.
2. Added in version 3.6.0. Changed type of `token` to `string_t` in version 3.11.0.
3. Added in version 3.6.0.

Last update: May 1, 2022
Back to top