|
§ operator<< [1/2]
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) .
- Note
- During serializaion, the locale and the precision of the output stream o are changed. The original values are restored when the function returns.
- Parameters
-
[in,out] | o | stream to serialize to |
[in] | j | JSON 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. 8 json j_object = {{ "one", 1}, { "two", 2}}; 9 json j_array = {1, 2, 4, 8, 16}; 12 std::cout << j_object << "\n\n"; 13 std::cout << j_array << "\n\n"; 16 std::cout << std::setw(4) << j_object << "\n\n"; 17 std::cout << std::setw(2) << j_array << "\n\n"; basic_json<> json default JSON class
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 withg++ -std=c++11 -Isrc doc/examples/operator_serialize.cpp -o operator_serialize
- Since
- version 1.0.0
Definition at line 5818 of file json.hpp.
|