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.8 KiB
1.8 KiB
nlohmann::basic_json::is_primitive
constexpr bool is_primitive() const noexcept;
This function returns #!cpp true
if and only if the JSON type is primitive (string, number, boolean, #!json null
,
binary).
Return value
#!cpp true
if type is primitive (string, number, boolean, #!json null
, or binary), #!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_null() || is_string() || is_boolean() || is_number() || is_binary();
}
Notes
The term primitive stems from RFC 8259:
JSON can represent four primitive types (strings, numbers, booleans, and null) and two structured types (objects and arrays).
This library extends primitive types to binary types, because binary types are roughly comparable to strings. Hence,
is_primitive()
returns #!cpp true
for binary values.
Examples
??? example
The following code exemplifies `is_primitive()` for all JSON types.
```cpp
--8<-- "examples/is_primitive.cpp"
```
Output:
```json
--8<-- "examples/is_primitive.output"
```
See also
- is_structured() returns whether JSON value is structured
- is_null() returns whether JSON value is
null
- is_string() returns whether JSON value is a string
- is_boolean() returns whether JSON value is a boolean
- is_number() returns whether JSON value is a number
- is_binary() returns whether JSON value is a binary array
Version history
- Added in version 1.0.0.
- Extended to return
#!cpp true
for binary types in version 3.8.0.