1
0
mirror of https://github.com/nlohmann/json.git synced 2025-07-07 23:41:10 +03:00
Files
json/docs/mkdocs/docs/api/basic_json/start_pos.md
2025-01-17 06:53:35 +01:00

1.9 KiB

nlohmann::basic_json::start_pos

#if JSON_DIAGNOSTIC_POSITIONS
constexpr std::size_t start_pos() const noexcept;
#endif

Returns the position of the first character in the JSON string from which the value was parsed from.

JSON type return value
object position of the opening {
array position of the opening [
string position of the opening "
number position of the first character
boolean position of t for true and f for false
null position of n

Return value

the position of the first character of the value in the parsed JSON string, if the value was created by the parse function, or std::string::npos if the value was constructed otherwise

Exception safety

No-throw guarantee: this member function never throws exceptions.

Complexity

Constant.

Notes

!!! note "Note"

The function is only available if macro [`JSON_DIAGNOSTIC_POSITIONS`](../macros/json_diagnostic_positions.md) has
been defined to `#!cpp 1` before including the library header.

!!! warning "Invalidation"

The returned positions are only valid as long as the JSON value is not changed. The positions are *not* updated
when the JSON value is changed.

Examples

??? example "Example"

```cpp
--8<-- "examples/diagnostic_positions.cpp"
```

Output:

```
--8<-- "examples/diagnostic_positions.output"
```

The output shows the start/end positions of all the objects and fields in the JSON string.

See also

Version history

  • Added in version 3.12.0.