// (1) iterator find(const typename object_t::key_type& key); const_iterator find(const typename object_t::key_type& key) const; // (2) template<typename KeyType> iterator find(KeyType&& key); template<typename KeyType> const_iterator find(KeyType&& key) const;
key
. If the element is not found or the JSON value is not an object, end()
is returned.KeyType
is comparable with #!cpp typename object_t::key_type
and #!cpp typename object_comparator_t::is_transparent
denotes a type.KeyType
: A type for an object key other than json_pointer
that is comparable with string_t
using object_comparator_t
. This can also be a string view (C++17).
key
(in) : key value of the element to search for.
Iterator to an element with a key equivalent to key
. If no such element is found or the JSON value is not an object, a past-the-end iterator (see end()
) is returned.
Strong exception safety: if an exception occurs, the original value stays intact.
Logarithmic in the size of the JSON object.
This method always returns end()
when executed on a JSON type that is not an object.
??? example “Example: (1) find object element by key”
The example shows how `find()` is used. ```cpp --8<-- "examples/find__object_t_key_type.cpp" ``` Output: ```json --8<-- "examples/find__object_t_key_type.output" ```
??? example “Example: (2) find object element by key using string_view”
The example shows how `find()` is used. ```cpp --8<-- "examples/find__keytype.c++17.cpp" ``` Output: ```json --8<-- "examples/find__keytype.c++17.output" ```