JSON for Modern C++  2.0.0
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>
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 >>())
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
Linear in the size of init.
Example
The following code shows an example for the array function.
1 #include <json.hpp>
2 
3 using json = nlohmann::json;
4 
5 int main()
6 {
7  // create JSON arrays
8  json j_no_init_list = json::array();
9  json j_empty_init_list = json::array({});
10  json j_nonempty_init_list = json::array({1, 2, 3, 4});
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 }
basic_json<> json
default JSON class
Definition: json.hpp:9587
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:1645
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 1645 of file json.hpp.