JSON for Modern C++ 3.10.4

◆ 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, class BinaryType = std::vector<std::uint8_t>>
template<typename KeyT , typename std::enable_if< !std::is_same< typename std::decay< KeyT >::type, json_pointer >::value, int >::type = 0>
bool nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::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
4using json = nlohmann::json;
5
6int 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}
basic_json<> json
default JSON class
Definition: json.hpp:3472

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
see find(KeyT&&) – returns an iterator to an object element
see contains(const json_pointer&) const – checks the existence for a JSON pointer
Since
version 3.6.0

Definition at line 22121 of file json.hpp.