2017-07-09 17:51:38 +08:00
|
|
|
#include <iostream>
|
2018-02-02 05:20:26 +08:00
|
|
|
#include <nlohmann/json.hpp>
|
2015-06-22 00:30:08 +08:00
|
|
|
|
2016-01-31 03:23:14 +08:00
|
|
|
using json = nlohmann::json;
|
2015-06-22 00:30:08 +08:00
|
|
|
|
|
|
|
int main()
|
|
|
|
{
|
|
|
|
// create JSON values
|
|
|
|
json j_object = {{"one", 1}, {"two", 2}};
|
|
|
|
json j_array = {1, 2, 4, 8, 16};
|
2017-08-30 05:46:26 +08:00
|
|
|
json j_string = "Hellö 😀!";
|
2015-06-22 00:30:08 +08:00
|
|
|
|
|
|
|
// call dump()
|
2017-08-30 05:46:26 +08:00
|
|
|
std::cout << "objects:" << '\n'
|
|
|
|
<< j_object.dump() << "\n\n"
|
|
|
|
<< j_object.dump(-1) << "\n\n"
|
|
|
|
<< j_object.dump(0) << "\n\n"
|
|
|
|
<< j_object.dump(4) << "\n\n"
|
|
|
|
<< j_object.dump(1, '\t') << "\n\n";
|
|
|
|
|
|
|
|
std::cout << "arrays:" << '\n'
|
|
|
|
<< j_array.dump() << "\n\n"
|
|
|
|
<< j_array.dump(-1) << "\n\n"
|
|
|
|
<< j_array.dump(0) << "\n\n"
|
|
|
|
<< j_array.dump(4) << "\n\n"
|
|
|
|
<< j_array.dump(1, '\t') << "\n\n";
|
|
|
|
|
|
|
|
std::cout << "strings:" << '\n'
|
|
|
|
<< j_string.dump() << '\n'
|
|
|
|
<< j_string.dump(-1, ' ', true) << '\n';
|
2017-12-17 06:58:10 +08:00
|
|
|
|
|
|
|
// create JSON value with invalid UTF-8 byte sequence
|
2018-10-24 15:28:57 +08:00
|
|
|
json j_invalid = "ä\xA9ü";
|
2017-12-17 06:58:10 +08:00
|
|
|
try
|
|
|
|
{
|
|
|
|
std::cout << j_invalid.dump() << std::endl;
|
|
|
|
}
|
|
|
|
catch (json::type_error& e)
|
|
|
|
{
|
|
|
|
std::cout << e.what() << std::endl;
|
|
|
|
}
|
2018-10-24 15:28:57 +08:00
|
|
|
|
|
|
|
std::cout << "string with replaced invalid characters: "
|
|
|
|
<< j_invalid.dump(-1, ' ', false, json::error_handler_t::replace)
|
|
|
|
<< "\nstring with ignored invalid characters: "
|
|
|
|
<< j_invalid.dump(-1, ' ', false, json::error_handler_t::ignore)
|
|
|
|
<< '\n';
|
2015-06-22 00:30:08 +08:00
|
|
|
}
|