#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 |
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
No-throw guarantee: this member function never throws exceptions.
Constant.
!!! 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.
??? 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.