Added to_string (with ugly macro) and tests
This commit is contained in:
parent
ee4028b8e4
commit
aa4c45ee4d
3 changed files with 45 additions and 0 deletions
|
@ -7965,6 +7965,21 @@ 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
|
||||||
|
*/
|
||||||
|
|
||||||
|
NLOHMANN_BASIC_JSON_TPL_DECLARATION
|
||||||
|
std::string to_string(const NLOHMANN_BASIC_JSON_TPL& j)
|
||||||
|
{
|
||||||
|
return j.dump();
|
||||||
|
}
|
||||||
} // namespace nlohmann
|
} // namespace nlohmann
|
||||||
|
|
||||||
///////////////////////
|
///////////////////////
|
||||||
|
|
|
@ -20766,6 +20766,21 @@ 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
|
||||||
|
*/
|
||||||
|
|
||||||
|
NLOHMANN_BASIC_JSON_TPL_DECLARATION
|
||||||
|
std::string to_string(const NLOHMANN_BASIC_JSON_TPL& j)
|
||||||
|
{
|
||||||
|
return j.dump();
|
||||||
|
}
|
||||||
} // namespace nlohmann
|
} // namespace nlohmann
|
||||||
|
|
||||||
///////////////////////
|
///////////////////////
|
||||||
|
|
|
@ -173,4 +173,19 @@ TEST_CASE("serialization")
|
||||||
test("\xE1\x80\xE2\xF0\x91\x92\xF1\xBF\x41", "\\ufffd" "\\ufffd" "\\ufffd" "\\ufffd" "\x41");
|
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]");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue