Added JsonObjectBase::remove()

This commit is contained in:
Benoit Blanchon
2014-08-03 13:16:35 +02:00
parent 817cc09975
commit 8e81b9bb26
4 changed files with 61 additions and 6 deletions

View File

@ -81,4 +81,12 @@ JsonValue& JsonObjectBase::operator[](JsonKey key)
bool JsonObjectBase::containsKey(JsonKey key) const
{
return getMatchingPair(key) != 0;
}
void JsonObjectBase::remove(JsonKey key)
{
KeyValuePair* match = getMatchingPair(key);
if (match == 0) return;
*match = items[--count];
}

View File

@ -18,8 +18,8 @@ namespace ArduinoJson
{
public:
JsonValue& operator[](JsonKey);
bool containsKey(JsonKey) const;
void remove(JsonKey key);
template<typename T>
void add(JsonKey key, T value)
@ -53,7 +53,6 @@ namespace ArduinoJson
private:
KeyValuePair* items;
int capacity, count;
static JsonValue nullValue;
KeyValuePair* getMatchingPair(JsonKey key) const;