JSON for Modern C++ 2.1.1
Loading...
Searching...
No Matches

◆ array()

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, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer>
static basic_json nlohmann::basic_json::array ( std::initializer_list< basic_json init = std::initializer_list<basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >>())
inlinestatic

Creates a JSON array value from a given initializer list. That is, given a list of values a, b, c, creates the JSON value [a, b, c]. If the initializer list is empty, the empty array [] is created.

Note
This function is only needed to express two edge cases that cannot be realized with the initializer list constructor (basic_json(std::initializer_list<basic_json>, bool, value_t)). These cases are:
  1. creating an array whose elements are all pairs whose first element is a string – in this case, the initializer list constructor would create an object, taking the first elements as keys
  2. creating an empty array – passing the empty initializer list to the initializer list constructor yields an empty object
Parameters
[in]initinitializer list with JSON values to create an array from (optional)
Returns
JSON array value
Complexity\n Linear in the size of init.
Example\n The following code shows an example for the array
function.
1#include <json.hpp>
2
3using json = nlohmann::json;
4
5int main()
6{
7 // create JSON arrays
11 json j_list_of_pairs = json::array({ {"one", 1}, {"two", 2} });
12
13 // serialize the JSON arrays
14 std::cout << j_no_init_list << '\n';
15 std::cout << j_empty_init_list << '\n';
16 std::cout << j_nonempty_init_list << '\n';
17 std::cout << j_list_of_pairs << '\n';
18}
static basic_json array(std::initializer_list< basic_json > init=std::initializer_list< basic_json >())
explicitly create an array from an initializer list
Definition json.hpp:2165
a class to store JSON values
Definition json.hpp:1040
basic_json<> json
default JSON class
Definition json.hpp:12369

Output (play with this example online):
[]
[]
[1,2,3,4]
[["one",1],["two",2]]

The example code above can be translated with
g++ -std=c++11 -Isrc doc/examples/array.cpp -o array 
See also
basic_json(std::initializer_list<basic_json>, bool, value_t) – create a JSON value from an initializer list
object(std::initializer_list<basic_json>) – create a JSON object value from an initializer list
Since
version 1.0.0

Definition at line 2165 of file json.hpp.