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

◆ dump()

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>
string_t nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::dump ( const int  indent = -1) const
inline

Serialization function for JSON values. The function tries to mimic Python's json.dumps() function, and currently supports its indent parameter.

Parameters
[in]indentIf indent is nonnegative, then array elements and object members will be pretty-printed with that indent level. An indent level of 0 will only insert newlines. -1 (the default) selects the most compact representation.
Returns
string containing the serialization of the JSON value
Complexity\n Linear.
Example\n The following example shows the effect of different indent
parameters to the result of the serialization.
1#include <json.hpp>
2
3using json = nlohmann::json;
4
5int 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 // call dump()
12 std::cout << j_object.dump() << "\n\n";
13 std::cout << j_object.dump(-1) << "\n\n";
14 std::cout << j_object.dump(0) << "\n\n";
15 std::cout << j_object.dump(4) << "\n\n";
16 std::cout << j_array.dump() << "\n\n";
17 std::cout << j_array.dump(-1) << "\n\n";
18 std::cout << j_array.dump(0) << "\n\n";
19 std::cout << j_array.dump(4) << "\n\n";
20}
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
string_t dump(const int indent=-1) const
serialization
Definition json.hpp:2647
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):
{"one":1,"two":2}

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

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

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

[1,2,4,8,16]

[1,2,4,8,16]

[
1,
2,
4,
8,
16
]

[
    1,
    2,
    4,
    8,
    16
]


The example code above can be translated with
g++ -std=c++11 -Isrc doc/examples/dump.cpp -o dump 
See also
https://docs.python.org/2/library/json.html#json.dump
Since
version 1.0.0

Definition at line 2647 of file json.hpp.