Skip to content


// (1)
json_pointer& operator/=(const json_pointer& ptr);

// (2)
json_pointer& operator/=(string_t token);

// (3)
json_pointer& operator/=(std::size_t array_idx)
  1. append another JSON pointer at the end of this JSON pointer
  2. append an unescaped reference token at the end of this JSON pointer
  3. append an array index at the end of this JSON pointer


ptr (in)
JSON pointer to append
token (in)
reference token to append
array_idx (in)
array index to append

Return value

  1. JSON pointer with ptr appended
  2. JSON pointer with token appended without escaping token
  3. JSON pointer with array_idx appended


  1. Linear in the length of ptr.
  2. Amortized constant.
  3. Amortized constant.



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");
    std::cout << ptr << '\n';

    // append a JSON Pointer
    ptr /= json::json_pointer("/bar/baz");
    std::cout << ptr << '\n';

    // append a string
    ptr /= "fob";
    std::cout << ptr << '\n';

    // append an array index
    ptr /= 42;
    std::cout << ptr << std::endl;



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