JsonDocument::set()
Description
JsonDocument::set()
replaces the root value of the JsonDocument
.
Signatures
bool set(bool value) const;
bool set(float value) const;
bool set(double value) const;
bool set(signed char value) const;
bool set(signed long value) const;
bool set(signed int value) const;
bool set(signed short value) const;
bool set(unsigned char value) const;
bool set(unsigned long value) const;
bool set(unsigned int value) const;
bool set(unsigned short value) const;
bool set(const char (&value)[N]) const; // stores a pointer
bool set(const char *value) const; // stores a copy
bool set(const __FlashStringHelper *value) const; // stores a copy
bool set(const String &value) const; // stores a copy
bool set(const std::string &value) const; // stores a copy
bool set(const Printable& value) const; // stores a copy
bool set(std::string_view value) const; // stores a copy
bool set(JsonArray array) const; // stores a deep copy
bool set(JsonObject object) const; // stores a deep copy
bool set(JsonVariant variant) const; // stores a deep copy
bool set(const JsonVariant& doc) const; // stores a deep copy
bool set(TEnum value) const; // alias of set(int)
bool set(T value) const; // calls user-defined function
Arguments
value
: the new value of the document, it can be any type supported by ArduinoJson or a user-defined type if you define custom converters.
All values are stored by copy, except string literals which are stored by address.
The string copy policy has changed in ArduinoJson 7.3.
Return value
JsonDocument::set()
returns a bool
that tells whether the operation was successful or not:
true
if the value operation was successful.false
if there was not enough room in theJsonDocument
.
User-defined types
JsonDocument::set()
supports user-defined types by calling convertToJson()
.
For example, to support tm
, you must define:
bool convertToJson(const tm& src, JsonVariant dst) {
char buf[32];
strftime(buf, sizeof(buf), "%FT%TZ", &src);
return dst.set(buf);
}
Example
JsonDocument doc;
doc.set("hello world")
serializeJson(doc, Serial);
The above program produces the following output:
"hello world"