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>
std::ostream& operator<< ( std::ostream &  o,
const basic_json j 
)
friend

Serialize the given JSON value j to the output stream o. The JSON value will be serialized using the dump member function. The indentation of the output can be controlled with the member variable width of the output stream o. For instance, using the manipulator std::setw(4) on o sets the indentation level to 4 and the serialization result is the same as calling dump(4).

Parameters
[in,out]ostream to serialize to
[in]jJSON value to serialize
Returns
the stream o
Complexity
Linear.
Example
The example below shows the serialization with different parameters to width to adjust the indentation level.
1 #include <json.hpp>
2 
3 using json = nlohmann::json;
4 
5 int main()
6 {
7  // create JSON values
8  json j_object = {{"one", 1}, {"two", 2}};
9  json j_array = {1, 2, 4, 8, 16};
10 
11  // serialize without indentation
12  std::cout << j_object << "\n\n";
13  std::cout << j_array << "\n\n";
14 
15  // serialize with indentation
16  std::cout << std::setw(4) << j_object << "\n\n";
17  std::cout << std::setw(2) << j_array << "\n\n";
18 }
basic_json<> json
default JSON class
Definition: json.hpp:9587
Output (play with this example online):
{"one":1,"two":2}

[1,2,4,8,16]

{
    "one": 1,
    "two": 2
}

[
  1,
  2,
  4,
  8,
  16
]

The example code above can be translated with
g++ -std=c++11 -Isrc doc/examples/operator_serialize.cpp -o operator_serialize 
Since
version 1.0.0

Definition at line 5652 of file json.hpp.