JSON for Modern C++  3.7.0

◆ count()

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>
template<typename KeyT >
size_type nlohmann::basic_json::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]keykey 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.
1 #include <iostream>
2 #include <nlohmann/json.hpp>
3 
4 using json = nlohmann::json;
5 
6 int main()
7 {
8  // create a JSON object
9  json j_object = {{"one", 1}, {"two", 2}};
10 
11  // call find
12  auto count_two = j_object.count("two");
13  auto count_three = j_object.count("three");
14 
15  // print values
16  std::cout << "number of elements with key \"two\": " << count_two << '\n';
17  std::cout << "number of elements with key \"three\": " << count_three << '\n';
18 }
basic_json<> json
default JSON class
Definition: json.hpp:2355

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 18397 of file json.hpp.