JSON for Modern C++  3.7.2

◆ contains() [2/2]

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 , typename std::enable_if< not std::is_same< typename std::decay< KeyT >::type, json_pointer >::value, int >::type = 0>
bool nlohmann::basic_json::contains ( KeyT &&  key) const
inline

Check whether an element exists in a JSON object with key equivalent to key. If the element is not found or the JSON value is not an object, false is returned.

Note
This method always returns false when executed on a JSON type that is not an object.
Parameters
[in]keykey value to check its existence.
Returns
true if an element with specified key exists. If no such element with such key is found or the JSON value is not an object, false is returned.
Complexity
Logarithmic in the size of the JSON object.
Example
The following code shows an example for contains().
1 #include <iostream>
2 #include <nlohmann/json.hpp>
3 
4 using json = nlohmann::json;
5 
6 int main()
7 {
8  // create some JSON values
9  json j_object = R"( {"key": "value"} )"_json;
10  json j_array = R"( [1, 2, 3] )"_json;
11 
12  // call contains
13  std::cout << std::boolalpha <<
14  "j_object contains 'key': " << j_object.contains("key") << '\n' <<
15  "j_object contains 'another': " << j_object.contains("another") << '\n' <<
16  "j_array contains 'key': " << j_array.contains("key") << std::endl;
17 }

Output (play with this example online):
j_object contains 'key': true
j_object contains 'another': false
j_array contains 'key': false
The example code above can be translated with
g++ -std=c++11 -Isingle_include doc/examples/contains.cpp -o contains 
See also
find(KeyT&&) – returns an iterator to an object element
contains(const json_pointer&) const – checks the existence for a JSON pointer
Since
version 3.6.0

Definition at line 18616 of file json.hpp.

nlohmann::json
basic_json<> json
default JSON class
Definition: json.hpp:2445