1c5f01b2fSopenharmony_ci# <small>nlohmann::basic_json::</small>front 2c5f01b2fSopenharmony_ci 3c5f01b2fSopenharmony_ci```cpp 4c5f01b2fSopenharmony_cireference front(); 5c5f01b2fSopenharmony_ciconst_reference front() const; 6c5f01b2fSopenharmony_ci``` 7c5f01b2fSopenharmony_ci 8c5f01b2fSopenharmony_ciReturns a reference to the first element in the container. For a JSON container `#!cpp c`, the expression 9c5f01b2fSopenharmony_ci`#!cpp c.front()` is equivalent to `#!cpp *c.begin()`. 10c5f01b2fSopenharmony_ci 11c5f01b2fSopenharmony_ci## Return value 12c5f01b2fSopenharmony_ci 13c5f01b2fSopenharmony_ciIn case of a structured type (array or object), a reference to the first element is returned. In case of number, string, 14c5f01b2fSopenharmony_ciboolean, or binary values, a reference to the value is returned. 15c5f01b2fSopenharmony_ci 16c5f01b2fSopenharmony_ci## Exception safety 17c5f01b2fSopenharmony_ci 18c5f01b2fSopenharmony_ciStrong guarantee: if an exception is thrown, there are no changes in the JSON value. 19c5f01b2fSopenharmony_ci 20c5f01b2fSopenharmony_ci## Exceptions 21c5f01b2fSopenharmony_ci 22c5f01b2fSopenharmony_ciIf the JSON value is `#!json null`, exception 23c5f01b2fSopenharmony_ci[`invalid_iterator.214`](../../home/exceptions.md#jsonexceptioninvalid_iterator214) is thrown. 24c5f01b2fSopenharmony_ci 25c5f01b2fSopenharmony_ci## Complexity 26c5f01b2fSopenharmony_ci 27c5f01b2fSopenharmony_ciConstant. 28c5f01b2fSopenharmony_ci 29c5f01b2fSopenharmony_ci## Notes 30c5f01b2fSopenharmony_ci 31c5f01b2fSopenharmony_ci!!! info "Precondition" 32c5f01b2fSopenharmony_ci 33c5f01b2fSopenharmony_ci The array or object must not be empty. Calling `front` on an empty array or object yields undefined behavior. 34c5f01b2fSopenharmony_ci 35c5f01b2fSopenharmony_ci## Examples 36c5f01b2fSopenharmony_ci 37c5f01b2fSopenharmony_ci??? example 38c5f01b2fSopenharmony_ci 39c5f01b2fSopenharmony_ci The following code shows an example for `front()`. 40c5f01b2fSopenharmony_ci 41c5f01b2fSopenharmony_ci ```cpp 42c5f01b2fSopenharmony_ci --8<-- "examples/front.cpp" 43c5f01b2fSopenharmony_ci ``` 44c5f01b2fSopenharmony_ci 45c5f01b2fSopenharmony_ci Output: 46c5f01b2fSopenharmony_ci 47c5f01b2fSopenharmony_ci ```json 48c5f01b2fSopenharmony_ci --8<-- "examples/front.output" 49c5f01b2fSopenharmony_ci ``` 50c5f01b2fSopenharmony_ci 51c5f01b2fSopenharmony_ci## See also 52c5f01b2fSopenharmony_ci 53c5f01b2fSopenharmony_ci- [back](back.md) to access the last element 54c5f01b2fSopenharmony_ci 55c5f01b2fSopenharmony_ci## Version history 56c5f01b2fSopenharmony_ci 57c5f01b2fSopenharmony_ci- Added in version 1.0.0. 58c5f01b2fSopenharmony_ci- Adjusted code to return reference to binary values in version 3.8.0. 59