mirror of
https://github.com/nlohmann/json.git
synced 2026-10-25 23:38:58 +00:00
basic_json_document and basic_json_view take a view_mode (read_only, the default, or editable) instead of a bool: basic_json_document<json, true> did not say what true means. The shortcut aliases are unchanged. The kind of a node is a node_kind (the value_t values plus link, 10 as before), which removes the static_cast<std::uint8_t>(value_t::...) of every comparison. The node and image layouts are unchanged. Signed-off-by: Niels Lohmann <mail@nlohmann.me>
1.5 KiB
1.5 KiB
nlohmann::json_editable_document
Defined in header <nlohmann/json_view.hpp>
using json_editable_document = basic_json_document<json, view_mode::editable>;
This type is an editable basic_json_document of the default
json specialization: in addition to everything json_document offers,
set and push_back change values after
parsing, without ever rewriting the source text -- see Edits and
Editing a document.
Examples
??? example
The example below patches two fields of a small configuration document -- changing one and adding another --
and dumps it back out with the member order and the spelling of the untouched number preserved, something a
plain [`json`](json.md) value cannot do.
```cpp
--8<-- "examples/json_editable_document.cpp"
```
Output:
```json
--8<-- "examples/json_editable_document.output"
```
See also
- json_editable_view - a view of a value of a
json_editable_document - json_document - the read-only document this type adds edits to
- ordered_json_editable_document - the corresponding editable document for
ordered_json - Edits - what an edit guarantees
Version history
Added in version 3.13.0.