nlohmann::basic_json::front¶
referencefront();
const_referencefront()const;
Returns a reference to the first element in the container. For a JSON container c, the expression c.front() is equivalent to *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 null, exception invalid_iterator.214 is thrown.
Complexity¶
Constant.
Notes¶
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().
#include<iostream>
#include<nlohmann/json.hpp>
usingjson=nlohmann::json;
intmain()
{
// create JSON values
jsonj_null;
jsonj_boolean=true;
jsonj_number_integer=17;
jsonj_number_float=23.42;
jsonj_object={{"one",1},{"two",2}};
jsonj_object_empty(json::value_t::object);
jsonj_array={1,2,4,8,16};
jsonj_array_empty(json::value_t::array);
jsonj_string="Hello, world";
// call front()
//std::cout << j_null.front() << '\n'; // would throw
std::cout<<j_boolean.front()<<'\n';
std::cout<<j_number_integer.front()<<'\n';
std::cout<<j_number_float.front()<<'\n';
std::cout<<j_object.front()<<'\n';
//std::cout << j_object_empty.front() << '\n'; // undefined behavior
std::cout<<j_array.front()<<'\n';
//std::cout << j_array_empty.front() << '\n'; // undefined behavior
std::cout<<j_string.front()<<'\n';
}
Output:
true
17
23.42
1
1
"Hello, world"
See also¶
- back to access the last element
Version history¶
- Added in version 1.0.0.
- Adjusted code to return reference to binary values in version 3.8.0.