|
◆ 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, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer>
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) .
- The indentation character can be controlled with the member variable
fill of the output stream o. For instance, the manipulator `stdsetfill('\t')` sets indentation to use a tab character rather than the default space character.
- Parameters
-
[in,out] | o | stream to serialize to |
[in] | j | JSON value to serialize |
- Returns
- the stream o
- Exceptions
-
type_error.316 | if a string stored inside the JSON value is not UTF-8 encoded |
- Complexity^^ Linear.
- Example^^ The example below shows the serialization with different
- parameters to
width to adjust the indentation level. ^^ 3 #include <nlohmann/json.hpp> 10 json j_object = {{ "one", 1}, { "two", 2}}; 11 json j_array = {1, 2, 4, 8, 16}; 14 std::cout << j_object << "\n\n"; 15 std::cout << j_array << "\n\n"; 18 std::cout << std::setw(4) << j_object << "\n\n"; 19 std::cout << std::setw(2) << j_array << "\n\n"; 20 std::cout << std::setw(1) << std::setfill( '\t') << j_object << "\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
]
{
"one": 1,
"two": 2
}
^^ The example code above can be translated withg++ -std=c++11 -Isingle_include doc/examples/operator_serialize.cpp -o operator_serialize
- Since
- version 1.0.0; indentation character added in version 3.0.0
Definition at line 18344 of file json.hpp.
|