json/doc/mkdocs/docs/api/basic_json/find.md
Niels Lohmann 61154547d1
Merge branch 'develop' of https://github.com/nlohmann/json into string_view
 Conflicts:
	doc/mkdocs/docs/api/basic_json/contains.md
	doc/mkdocs/docs/api/basic_json/find.md
	include/nlohmann/json.hpp
	single_include/nlohmann/json.hpp
	test/src/unit-regression2.cpp
2021-12-31 14:27:30 +01:00

1.4 KiB

nlohmann::basic_json::find

template<typename KeyT>
iterator find(const KeyT& key);

template<typename KeyT>
const_iterator find(const KeyT& key) const;

Finds an element in a JSON object with key equivalent to key. If the element is not found or the JSON value is not an object, end() is returned.

Template parameters

KeyT
A type for an object key that is less-than comparable with string_t. This can also be a string literal or a string view (C++17).

Parameters

key (in)
key value of the element to search for.

Return value

Iterator to an element with key equivalent to key. If no such element is found or the JSON value is not an object, past-the-end (see end()) iterator is returned.

Exception safety

Strong exception safety: if an exception occurs, the original value stays intact.

Complexity

Logarithmic in the size of the JSON object.

Notes

This method always returns end() when executed on a JSON type that is not an object.

Examples

??? example

The example shows how `find()` is used.

```cpp
--8<-- "examples/find__key_type.cpp"
```

Output:

```json
--8<-- "examples/find__key_type.output"
```

See also

Version history

  • Added in version 1.0.0.
  • Extended template KeyT in version 3.10.5 to also support std::string_view.