basic_json::flatten

basic_json flatten() const;

The function creates a JSON object whose keys are JSON pointers (see RFC 6901) and whose values are all primitive (see is_primitive() for more information). The original JSON value can be restored using the unflatten() function.

Return value

an object that maps JSON pointers to primitive values

Exception safety

Strong exception safety: if an exception occurs, the original value stays intact.

Complexity

Linear in the size the JSON value.

Notes

Empty objects and arrays are flattened to #!json null and will not be reconstructed correctly by the unflatten() function.

Example

??? example

The following code shows how a JSON object is flattened to an object whose keys consist of JSON pointers.

```cpp
--8<-- "examples/flatten.cpp"
```

Output:

```json
--8<-- "examples/flatten.output"
```

Version history

  • Added in version 2.0.0.