Files
json/docs/mkdocs/docs/api/basic_json/front.md
T
Niels Lohmann 52b72b5684 Improve documentation: byte layouts, release pages, See also, dark-mode images (#5906)
- Make the iterator range illustrations legible in dark mode (prefers-color-scheme
  rules inside the SVGs).
- Add a "Byte layout" section with a color-coded byte table to each binary format
  page (BJData, BON8, BSON, CBOR, MessagePack, UBJSON), and highlight the smallest
  size per file in the comparison table.
- Add "See also" sections to the overview pages that lacked one.
- Split the release notes into one page per release, grouped by minor version on
  the overview page, with an "API changes" section per release generated from the
  API pages' version histories (hooks/api_changes.py).
- Fact-check the release notes and version histories against the release tags and
  correct wrong or misleading entries (e.g., json_serializer 2.1.0, merge_patch
  3.1.0, items, count, operator[], to_bjdata, std::string_view key support).

Signed-off-by: Niels Lohmann <mail@nlohmann.me>
2026-10-24 17:57:44 +02:00

1.4 KiB

nlohmann::basic_json::front

reference front();
const_reference front() const;

Returns a reference to the first element in the container. For a JSON container #!cpp c, the expression #!cpp c.front() is equivalent to #!cpp *c.begin().

Return value

In the case of a structured type (array or object), a reference to the first element is returned. In the case of number, string, boolean, or binary values, a reference to the value is returned.

Exception safety

Strong guarantee: if an exception is thrown, there are no changes in the JSON value.

Exceptions

If the JSON value is #!json null, exception invalid_iterator.214 is thrown.

Complexity

Constant.

Notes

!!! info "Precondition"

The array or object must not be empty. Calling `front` on an empty array or object yields undefined behavior.

Examples

??? example

The following code shows an example for `front()`.
 
```cpp
--8<-- "examples/front.cpp"
```

Output:

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

See also

  • back to access the last element
  • basic_json_view::front - the same access on a zero-copy view (document order, not sorted; duplicate keys are visited)

Version history

  • Added in version 1.0.0.
  • Binary values are supported since version 3.8.0.