basic_json::find¶
template<typename KeyT>
iterator find(KeyT&& key);
template<typename KeyT>
const_iterator find(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.
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.
Example¶
Example
The example shows how find() is used.
#include <iostream>
#include <nlohmann/json.hpp>
using json = nlohmann::json;
int main()
{
// create a JSON object
json j_object = {{"one", 1}, {"two", 2}};
// call find
auto it_two = j_object.find("two");
auto it_three = j_object.find("three");
// print values
std::cout << std::boolalpha;
std::cout << "\"two\" was found: " << (it_two != j_object.end()) << '\n';
std::cout << "value at key \"two\": " << *it_two << '\n';
std::cout << "\"three\" was found: " << (it_three != j_object.end()) << '\n';
}
Output:
"two" was found: true
value at key "two": 2
"three" was found: false
Version history¶
- Added in version 1.0.0.