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] | key | key 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()
.
2 #include <nlohmann/json.hpp>
9 json j_object = R
"( {"key": "value"} )"_json;
10 json j_array = R"( [1, 2, 3] )"_json;
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;
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 withg++ -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 20906 of file json.hpp.