Commit 293cd6b7 authored by Macr0Nerd's avatar Macr0Nerd

Added to_string and added basic tests

parent ee4028b8
......@@ -7965,6 +7965,20 @@ class basic_json
/// @}
};
/*!
@brief user-defined to_string function for JSON values
This function implements a user-defined to_string for JSON objects.
@param[in] j a JSON object
@return a std::string object
*/
template <class T>
std::string to_string(const T& j){
return j.dump();
}
} // namespace nlohmann
///////////////////////
......
......@@ -20766,6 +20766,20 @@ class basic_json
/// @}
};
/*!
@brief user-defined to_string function for JSON values
This function implements a user-defined to_string for JSON objects.
@param[in] j a JSON object
@return a std::string object
*/
template <class T>
std::string to_string(const T& j){
return j.dump();
}
} // namespace nlohmann
///////////////////////
......
......@@ -173,4 +173,19 @@ TEST_CASE("serialization")
test("\xE1\x80\xE2\xF0\x91\x92\xF1\xBF\x41", "\\ufffd" "\\ufffd" "\\ufffd" "\\ufffd" "\x41");
}
}
SECTION("to_string")
{
auto test = [&](std::string const & input, std::string const & expected)
{
using std::to_string;
json j = input;
CHECK(to_string(j) == "\"" + expected + "\"");
};
test("{\"x\":5,\"y\":6}", "{\\\"x\\\":5,\\\"y\\\":6}");
test("{\"x\":[10,null,null,null]}", "{\\\"x\\\":[10,null,null,null]}");
test("test", "test");
test("[3,\"false\",false]", "[3,\\\"false\\\",false]");
}
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment