mirror of
https://github.com/nlohmann/json.git
synced 2025-07-13 20:21:48 +03:00
more documentation
This commit is contained in:
@ -8223,11 +8223,26 @@ class basic_json
|
||||
friend class basic_json;
|
||||
|
||||
public:
|
||||
/// empty reference token
|
||||
json_pointer() = default;
|
||||
/*!
|
||||
@brief create JSON pointer
|
||||
|
||||
/// nonempty reference token
|
||||
explicit json_pointer(const std::string& s)
|
||||
Create a JSON pointer according to the syntax described in
|
||||
[Section 3 of RFC6901](https://tools.ietf.org/html/rfc6901#section-3).
|
||||
|
||||
@param[in] s string representing the JSON pointer; if omitted, the
|
||||
empty string is assumed which references the whole JSON
|
||||
value
|
||||
|
||||
@throw std::domain_error if reference token is nonempty and does not
|
||||
begin with a slash (`/`), or if a tilde (`~`) is not followed
|
||||
by `0` (representing `~`) or `1` (representing `/`).
|
||||
|
||||
@liveexample{The example shows the construction several valid JSON
|
||||
pointers as well as the exceptional behavior.,json_pointer}
|
||||
|
||||
@since version 2.0.0
|
||||
*/
|
||||
explicit json_pointer(const std::string& s = "")
|
||||
: reference_tokens(split(s))
|
||||
{}
|
||||
|
||||
@ -8253,19 +8268,19 @@ class basic_json
|
||||
{
|
||||
result = &result->operator[](reference_token);
|
||||
}
|
||||
continue;
|
||||
break;
|
||||
}
|
||||
|
||||
case value_t::object:
|
||||
{
|
||||
result = &result->operator[](reference_token);
|
||||
continue;
|
||||
break;
|
||||
}
|
||||
|
||||
case value_t::array:
|
||||
{
|
||||
result = &result->operator[](static_cast<size_t>(std::stoi(reference_token)));
|
||||
continue;
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
@ -8376,7 +8391,7 @@ class basic_json
|
||||
case value_t::object:
|
||||
{
|
||||
ptr = &ptr->operator[](reference_token);
|
||||
continue;
|
||||
break;
|
||||
}
|
||||
|
||||
case value_t::array:
|
||||
@ -8388,7 +8403,7 @@ class basic_json
|
||||
") is out of range");
|
||||
}
|
||||
ptr = &ptr->operator[](static_cast<size_t>(std::stoi(reference_token)));
|
||||
continue;
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
@ -8410,7 +8425,7 @@ class basic_json
|
||||
case value_t::object:
|
||||
{
|
||||
ptr = &ptr->at(reference_token);
|
||||
continue;
|
||||
break;
|
||||
}
|
||||
|
||||
case value_t::array:
|
||||
@ -8422,7 +8437,7 @@ class basic_json
|
||||
") is out of range");
|
||||
}
|
||||
ptr = &ptr->at(static_cast<size_t>(std::stoi(reference_token)));
|
||||
continue;
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
|
Reference in New Issue
Block a user