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>>
bool nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::contains |
( |
const json_pointer & |
ptr | ) |
const |
|
inline |
check the existence of an element in a JSON object given a JSON pointer
Check whether the given JSON pointer ptr can be resolved in the current JSON value.
- Note
- This method can be executed on any JSON value type.
- Parameters
-
[in] | ptr | JSON pointer to check its existence. |
- Returns
- true if the JSON pointer can be resolved to a stored value, false otherwise.
- Postcondition
- If
j.contains(ptr)
returns true, it is safe to call j[ptr]
.
- Exceptions
-
parse_error.106 | if an array index begins with '0' |
parse_error.109 | if an array index was not a number |
@complexity Logarithmic in the size of the JSON object.
@liveexample{The following code shows an example for contains()
.,contains_json_pointer}
- See also
- see contains(KeyT &&) const – checks the existence of a key
- Since
- version 3.7.0
Definition at line 22338 of file json.hpp.
22339 {
22340 return ptr.contains(this);
22341 }