mirror of
https://github.com/bblanchon/ArduinoJson.git
synced 2025-07-18 13:02:25 +02:00
Added typedef JsonKey
This commit is contained in:
@ -39,7 +39,7 @@ size_t JsonObjectBase::printTo(Print& p) const
|
|||||||
return n;
|
return n;
|
||||||
}
|
}
|
||||||
|
|
||||||
JsonObjectBase::KeyValuePair* JsonObjectBase::getMatchingPair(char const* key) const
|
JsonObjectBase::KeyValuePair* JsonObjectBase::getMatchingPair(JsonKey key) const
|
||||||
{
|
{
|
||||||
KeyValuePair* p = items;
|
KeyValuePair* p = items;
|
||||||
|
|
||||||
@ -54,14 +54,15 @@ JsonObjectBase::KeyValuePair* JsonObjectBase::getMatchingPair(char const* key) c
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
JsonValue& JsonObjectBase::operator[](char const* key)
|
JsonValue& JsonObjectBase::operator[](JsonKey key)
|
||||||
{
|
{
|
||||||
KeyValuePair* match = getMatchingPair(key);
|
KeyValuePair* match = getMatchingPair(key);
|
||||||
JsonValue* value;
|
|
||||||
|
|
||||||
if (match)
|
if (match)
|
||||||
return match->value;
|
return match->value;
|
||||||
|
|
||||||
|
JsonValue* value;
|
||||||
|
|
||||||
if (count < capacity)
|
if (count < capacity)
|
||||||
{
|
{
|
||||||
items[count].key = key;
|
items[count].key = key;
|
||||||
@ -77,7 +78,7 @@ JsonValue& JsonObjectBase::operator[](char const* key)
|
|||||||
return *value;
|
return *value;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool JsonObjectBase::containsKey(char const* key) const
|
bool JsonObjectBase::containsKey(JsonKey key) const
|
||||||
{
|
{
|
||||||
return getMatchingPair(key) != 0;
|
return getMatchingPair(key) != 0;
|
||||||
}
|
}
|
@ -12,22 +12,23 @@ namespace ArduinoJson
|
|||||||
{
|
{
|
||||||
namespace Generator
|
namespace Generator
|
||||||
{
|
{
|
||||||
|
typedef const char* JsonKey;
|
||||||
|
|
||||||
class JsonObjectBase : public JsonPrintable
|
class JsonObjectBase : public JsonPrintable
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
JsonValue& operator[](JsonKey);
|
||||||
|
|
||||||
JsonValue& operator[](const char*);
|
bool containsKey(JsonKey) const;
|
||||||
|
|
||||||
bool containsKey(const char*) const;
|
|
||||||
|
|
||||||
template<typename T>
|
template<typename T>
|
||||||
void add(const char* key, T value)
|
void add(JsonKey key, T value)
|
||||||
{
|
{
|
||||||
operator[](key) = value;
|
operator[](key) = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
template<int DIGITS>
|
template<int DIGITS>
|
||||||
void add(const char* key, double value)
|
void add(JsonKey key, double value)
|
||||||
{
|
{
|
||||||
operator[](key).set<DIGITS>(value);
|
operator[](key).set<DIGITS>(value);
|
||||||
}
|
}
|
||||||
@ -40,7 +41,7 @@ namespace ArduinoJson
|
|||||||
|
|
||||||
struct KeyValuePair
|
struct KeyValuePair
|
||||||
{
|
{
|
||||||
const char* key;
|
JsonKey key;
|
||||||
JsonValue value;
|
JsonValue value;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -55,7 +56,7 @@ namespace ArduinoJson
|
|||||||
|
|
||||||
static JsonValue nullValue;
|
static JsonValue nullValue;
|
||||||
|
|
||||||
KeyValuePair* getMatchingPair(const char* key) const;
|
KeyValuePair* getMatchingPair(JsonKey key) const;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
Reference in New Issue
Block a user