template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
template<typename KeyT >
size_type nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::count |
( |
KeyT && |
key | ) |
const |
|
inline |
Returns the number of elements with key key. If ObjectType is the default std::map
type, the return value will always be 0
(key was not found) or 1
(key was found).
- Note
- This method always returns
0
when executed on a JSON type that is not an object.
- Parameters
-
[in] | key | key value of the element to count |
- Returns
- Number of elements with key key. If the JSON value is not an object, the return value will be
0
.
- Complexity
- Logarithmic in the size of the JSON object.
- Example
- The example shows how
count()
is used.
2#include <nlohmann/json.hpp>
9 json j_object = {{
"one", 1}, {
"two", 2}};
12 auto count_two = j_object.count(
"two");
13 auto count_three = j_object.count(
"three");
16 std::cout <<
"number of elements with key \"two\": " << count_two <<
'\n';
17 std::cout <<
"number of elements with key \"three\": " << count_three <<
'\n';
basic_json<> json
default JSON class
Output (play with this example online): number of elements with key "two": 1
number of elements with key "three": 0
The example code above can be translated with g++ -std=c++11 -Isingle_include doc/examples/count.cpp -o count
- Since
- version 1.0.0
Definition at line 22088 of file json.hpp.