mirror of
https://github.com/nlohmann/json.git
synced 2026-02-17 09:03:58 +00:00
* mkdocs: add string_view examples * mkdocs: reference underlying operators * mkdocs: add operator<=> examples * mkdocs: fix style check issues * mkdocs: tweak BJData page * mkdocs: add CMake option hints to macros * mkdocs: fix JSON_DISABLE_ENUM_SERIALIZATION definition * mkdocs: fix link to unit-udt.cpp * mkdocs: fix "Arbitrary Type Conversions" title * mkdocs: link to api/macros/*.md instead of features/macros.md * mkdocs: document JSON_DisableEnumSerialization CMake option * mkdocs: encode required C++ standard in example files * docset: detect gsed/sed * docset: update index * docset: fix CSS patching * docset: add list_missing_pages make target * docset: add list_removed_paths make target * docset: replace page titles with name from index * docset: add install target for Zeal docset browser * Use GCC_TOOL in ci_test_documentation target
1.9 KiB
1.9 KiB
nlohmann::basic_json::count
// (1)
size_type count(const typename object_t::key_type& key) const;
// (2)
template<typename KeyType>
size_type count(KeyType&& key) const;
- Returns the number of elements with key
key. IfObjectTypeis the defaultstd::maptype, the return value will always be0(keywas not found) or1(keywas found). - See 1. This overload is only available if
KeyTypeis comparable with#!cpp typename object_t::key_typeand#!cpp typename object_comparator_t::is_transparentdenotes a type.
Template parameters
KeyType- A type for an object key other than
json_pointerthat is comparable withstring_tusingobject_comparator_t. This can also be a string view (C++17).
Parameters
key(in)- key value of the element to count.
Return value
Number of elements with key key. If the JSON value is not an object, the return value will be 0.
Exception safety
Strong exception safety: if an exception occurs, the original value stays intact.
Complexity
Logarithmic in the size of the JSON object.
Notes
This method always returns 0 when executed on a JSON type that is not an object.
Examples
??? example "Example: (1) count number of elements"
The example shows how `count()` is used.
```cpp
--8<-- "examples/count__object_t_key_type.cpp"
```
Output:
```json
--8<-- "examples/count__object_t_key_type.output"
```
??? example "Example: (2) count number of elements using string_view"
The example shows how `count()` is used.
```cpp
--8<-- "examples/count__keytype.c++17.cpp"
```
Output:
```json
--8<-- "examples/count__keytype.c++17.output"
```
Version history
- Added in version 3.11.0.
- Added in version 1.0.0. Changed parameter
keytype toKeyType&&in version 3.11.0.