Files
json/docs/mkdocs/docs/api/basic_json_view/front.md
T
Niels Lohmann 172eba6e46 docs: cross-link concept pages and API pages in See also sections
Add See also links in both directions between the concept pages (features,
home, integration) and the API pages, write API links in code font, give every
entry a comment after a dash, and show the callback event figure on the parser
callbacks page.

Signed-off-by: Niels Lohmann <mail@nlohmann.me>
2026-10-26 16:17:03 +01:00

1.8 KiB

nlohmann::basic_json_view::front

basic_json_view front() const;

Returns the first element of an array, the first member value of an object, or the value itself if it is primitive (as for BasicJsonType::front(), a primitive value is a range of one element).

Return value

The first element or member value. For a primitive value (number, string, boolean), the value itself.

Exception safety

Strong guarantee: there are no changes to the view or the document it refers to.

Exceptions

Throws invalid_iterator.214 if the view is null or discarded, or if it is an empty array or object.

This exception does not carry a JSON_DIAGNOSTICS path: the view has no BasicJsonType value to point at, so the exception is created without one, even if BasicJsonType was built with JSON_DIAGNOSTICS enabled.

Complexity

Constant.

Notes

Unlike BasicJsonType::front(), which has undefined behavior for an empty array or object, front() throws invalid_iterator.214 for an empty array, an empty object, a null value, or a discarded view.

Examples

??? example

The example below reads only the earliest entry of a build log with `front()`, without materializing the rest
of the (possibly long) log.

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

Output:

```json
--8<-- "examples/basic_json_view__front.output"
```

See also

Version history

  • Added in version 3.13.0.