JSON for Modern C++  2.0.3
template<template< typename U, typename V, typename...Args > class ObjectType = std::map, template< typename U, typename...Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator>
const_reference nlohmann::basic_json::back ( ) const
inline

Returns a reference to the last element in the container. For a JSON container c, the expression c.back() is equivalent to

auto tmp = c.end();
--tmp;
return *tmp;
Returns
In case of a structured type (array or object), a reference to the last element is returned. In cast of number, string, or boolean values, a reference to the value is returned.
Complexity
Constant.
Precondition
The JSON value must not be null (would throw std::out_of_range) or an empty array or object (undefined behavior, guarded by assertions).
Postcondition
The JSON value remains unchanged.
Exceptions
std::out_of_rangewhen called on null value.
Example
The following code shows an example for back().
1 #include <json.hpp>
2 
3 using json = nlohmann::json;
4 
5 int main()
6 {
7  // create JSON values
8  json j_null;
9  json j_boolean = true;
10  json j_number_integer = 17;
11  json j_number_float = 23.42;
12  json j_object = {{"one", 1}, {"two", 2}};
13  json j_object_empty(json::value_t::object);
14  json j_array = {1, 2, 4, 8, 16};
15  json j_array_empty(json::value_t::array);
16  json j_string = "Hello, world";
17 
18  // call back()
19  //std::cout << j_null.back() << '\n'; // would throw
20  std::cout << j_boolean.back() << '\n';
21  std::cout << j_number_integer.back() << '\n';
22  std::cout << j_number_float.back() << '\n';
23  std::cout << j_object.back() << '\n';
24  //std::cout << j_object_empty.back() << '\n'; // undefined behavior
25  std::cout << j_array.back() << '\n';
26  //std::cout << j_array_empty.back() << '\n'; // undefined behavior
27  std::cout << j_string.back() << '\n';
28 }
basic_json<> json
default JSON class
Definition: json.hpp:10122
object (unordered set of name/value pairs)
array (ordered collection of values)
Output (play with this example online):
true
17
23.42
2
16
"Hello, world"
The example code above can be translated with
g++ -std=c++11 -Isrc doc/examples/back.cpp -o back 
See also
front() – access the first element
Since
version 1.0.0

Definition at line 3877 of file json.hpp.