mirror of
https://github.com/nlohmann/json.git
synced 2025-05-11 21:53:56 +00:00
* 🔥 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
1.4 KiB
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
- is_primitive() returns whether JSON value is primitive
- is_array() returns whether value is an array
- is_object() returns whether value is an object
Version history
- Added in version 1.0.0.