Removes elements from a JSON object with the key value key.
- Parameters
-
[in] | key | value of the elements to remove |
- Returns
- Number of elements removed. If ObjectType is the default
std::map
type, the return value will always be 0
(key was not found) or 1
(key was found).
- Postcondition
- References and iterators to the erased elements are invalidated. Other references and iterators are not affected.
- Exceptions
-
type_error.307 | when called on a type other than JSON object; example: "cannot use erase() with null" |
- Complexity
log(size()) + count(key)
- Example
- The example shows the effect of
erase()
.
2 #include <nlohmann/json.hpp>
9 json j_object = {{
"one", 1}, {
"two", 2}};
12 auto count_one = j_object.erase(
"one");
13 auto count_three = j_object.erase(
"three");
16 std::cout << j_object <<
'\n';
17 std::cout << count_one <<
" " << count_three <<
'\n';
Output (play with this example online): {"two":2}
1 0
The example code above can be translated withg++ -std=c++11 -Isingle_include doc/examples/erase__key_type.cpp -o erase__key_type
- See also
- erase(IteratorType) – removes the element at a given position
-
erase(IteratorType, IteratorType) – removes the elements in the given range
-
erase(const size_type) – removes the element from an array at the given index
- Since
- version 1.0.0
Definition at line 18442 of file json.hpp.