json/doc/mkdocs/docs/api/basic_json/is_structured.md
Niels Lohmann 29cd970b94
Consolidate documentation (#3071)
* 🔥 consolidate documentation
* ♻️ overwork std specializations
* 🚚 move images files to mkdocs
* ♻️ fix URLs
* 🔧 tweak MkDocs configuration
* 🔧 add namespaces
* 📝 document deprecations
* 📝 document documentation generation
* 🚸 improve search
* 🚸 add examples
* 🚧 start adding documentation for macros
* 📝 add note for https://github.com/nlohmann/json/issues/874#issuecomment-1001699139
* 📝 overwork example handling
* 📝 fix Markdown tables
2021-12-29 13:41:01 +01:00

1.4 KiB

nlohmann::basic_json::is_structured

constexpr bool is_structured() const noexcept;

This function returns #!cpp true if and only if the JSON type is structured (array or object).

Return value

#!cpp true if type is structured (array or object), #!cpp false otherwise.

Exception safety

No-throw guarantee: this member function never throws exceptions.

Complexity

Constant.

Possible implementation

constexpr bool is_primitive() const noexcept
{
    return is_array() || is_object();
}

Notes

The term structured stems from RFC 8259:

JSON can represent four primitive types (strings, numbers, booleans, and null) and two structured types (objects and arrays).

Note that though strings are containers in C++, they are treated as primitive values in JSON.

Examples

??? example

The following code exemplifies `is_structured()` for all JSON types.

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

Output:

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

See also

Version history

  • Added in version 1.0.0.