📝 clarified difference between serialization and string value retrieval #853

parent fa76f2ef
...@@ -207,6 +207,29 @@ std::cout << j.dump(4) << std::endl; ...@@ -207,6 +207,29 @@ std::cout << j.dump(4) << std::endl;
// } // }
``` ```
Note the difference between serialization and assignment:
```cpp
// store a string in a JSON value
json j_string = "this is a string";
// retrieve the string value (implicit JSON to std::string conversion)
std::string cpp_string = j_string;
// retrieve the string value (explicit JSON to std::string conversion)
auto cpp_string2 = j_string.get<std::string>();
// retrieve the serialized value (explicit JSON serialization)
std::string serialized_string = j_string.dump();
// output of original string
std::cout << cpp_string << " == " << cpp_string2 << " == " << j_string.get<std::string>() << '\n';
// output of serialized value
std::cout << j_string << " == " << serialized_string << std::endl;
```
`.dump()` always returns the serialized value, and `.get<std::string>()` returns the originally stored string value.
#### To/from streams (e.g. files, string streams) #### To/from streams (e.g. files, string streams)
You can also use streams to serialize and deserialize: You can also use streams to serialize and deserialize:
......
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