JsonObject::operator[]
Description
A shortcut for JsonObject::get()
and
JsonObject::set()
, with a map-like syntax.
Signatures
JsonVariant& operator[](const char* key);
JsonVariant& operator[](char* key); // see Remarks
JsonVariant& operator[](const String& key); // see Remarks
JsonVariant& operator[](const std::string& key); // see Remarks
JsonVariant& operator[](const __FlashStringHelper* key); // see Remarks
const JsonVariant& operator[](const char* key) const;
const JsonVariant& operator[](const String& key) const;
const JsonVariant& operator[](const std::string& key) const;
const JsonVariant& operator[](const __FlashStringHelper* key) const;
Arguments
key
: the key that the value will be associated to.
Return value
A reference to the JsonVariant
in the object.
Remarks
ArduinoJson makes a copy of the string when you call this function with one of the following types:
char*
String
(orstd::string
)const __FlashStringHelper *
(i.e. Flash string)
This duplication causes the JsonBuffer
to grow.
The memory allocated for the copy will only be freed when the whole JsonBuffer
is discarded.
Note that the rules changed in version 5.13.
Example
JsonObject& object = jsonBuffer.createObject();
object["hello"] = "world";
const char* world = object["hello"];