📝 updated documentation #1314

This commit is contained in:
Niels Lohmann 2018-10-24 09:28:57 +02:00
parent 7b501de054
commit f102df3cba
No known key found for this signature in database
GPG key ID: 7F3CEA63AE251B69
4 changed files with 12 additions and 4 deletions

View file

@ -309,7 +309,7 @@ std::cout << j_string << " == " << serialized_string << std::endl;
[`.dump()`](https://nlohmann.github.io/json/classnlohmann_1_1basic__json_a5adea76fedba9898d404fef8598aa663.html#a5adea76fedba9898d404fef8598aa663) always returns the serialized value, and [`.get<std::string>()`](https://nlohmann.github.io/json/classnlohmann_1_1basic__json_a16f9445f7629f634221a42b967cdcd43.html#a16f9445f7629f634221a42b967cdcd43) returns the originally stored string value. [`.dump()`](https://nlohmann.github.io/json/classnlohmann_1_1basic__json_a5adea76fedba9898d404fef8598aa663.html#a5adea76fedba9898d404fef8598aa663) always returns the serialized value, and [`.get<std::string>()`](https://nlohmann.github.io/json/classnlohmann_1_1basic__json_a16f9445f7629f634221a42b967cdcd43.html#a16f9445f7629f634221a42b967cdcd43) returns the originally stored string value.
Note the library only supports UTF-8. When you store strings with different encodings in the library, calling [`dump()`](https://nlohmann.github.io/json/classnlohmann_1_1basic__json_a5adea76fedba9898d404fef8598aa663.html#a5adea76fedba9898d404fef8598aa663) may throw an exception. Note the library only supports UTF-8. When you store strings with different encodings in the library, calling [`dump()`](https://nlohmann.github.io/json/classnlohmann_1_1basic__json_a5adea76fedba9898d404fef8598aa663.html#a5adea76fedba9898d404fef8598aa663) may throw an exception unless `json::error_handler_t::replace` or `json::error_handler_t::ignore` are used as error handlers.
#### To/from streams (e.g. files, string streams) #### To/from streams (e.g. files, string streams)

View file

@ -30,7 +30,7 @@ int main()
<< j_string.dump(-1, ' ', true) << '\n'; << j_string.dump(-1, ' ', true) << '\n';
// create JSON value with invalid UTF-8 byte sequence // create JSON value with invalid UTF-8 byte sequence
json j_invalid = "\xF0\xA4\xAD\xC0"; json j_invalid = "ä\xA9ü";
try try
{ {
std::cout << j_invalid.dump() << std::endl; std::cout << j_invalid.dump() << std::endl;
@ -39,4 +39,10 @@ int main()
{ {
std::cout << e.what() << std::endl; std::cout << e.what() << std::endl;
} }
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';
} }

View file

@ -1 +1 @@
<a target="_blank" href="https://wandbox.org/permlink/uC4kna7QsQ0rAt80"><b>online</b></a> <a target="_blank" href="https://wandbox.org/permlink/KtH6hJIe10abhHMi"><b>online</b></a>

View file

@ -50,4 +50,6 @@ arrays:
strings: strings:
"Hellö 😀!" "Hellö 😀!"
"Hell\u00f6 \ud83d\ude00!" "Hell\u00f6 \ud83d\ude00!"
[json.exception.type_error.316] invalid UTF-8 byte at index 3: 0xC0 [json.exception.type_error.316] invalid UTF-8 byte at index 2: 0xA9
string with replaced invalid characters: "ä<>ü"
string with ignored invalid characters: "äü"