Skip to content

to_string(basic_json)

template <typename BasicJsonType>
std::string to_string(const BasicJsonType& j);

This function implements a user-defined to_string for JSON objects.

Template parameters

BasicJsonType
a specialization of basic_json

Return value

string containing the serialization of the JSON value

Exception safety

Strong guarantee: if an exception is thrown, there are no changes to any JSON value.

Exceptions

Throws type_error.316 if a string stored inside the JSON value is not UTF-8 encoded

Complexity

Linear.

Possible implementation

template <typename BasicJsonType>
std::string to_string(const BasicJsonType& j)
{
    return j.dump();
}

Examples

Example

The following code shows how the library's to_string() function integrates with others, allowing argument-dependent lookup.

#include <iostream>
#include <nlohmann/json.hpp>

using json = nlohmann::json;
using std::to_string;

int main()
{
    // create values
    json j = {{"one", 1}, {"two", 2}};
    int i = 42;

    // use ADL to select best to_string function
    auto j_str = to_string(j);  // calling nlohmann::to_string
    auto i_str = to_string(i);  // calling std::to_string

    // serialize without indentation
    std::cout << j_str << "\n\n"
              << i_str << std::endl;
}

Output:

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

42

See also

Version history

Added in version 3.7.0.


Last update: May 1, 2022