Releases: bblanchon/ArduinoJson
ArduinoJson 6.5.0-beta
Special note ⚠️
ArduinoJson 6 requires updating code written for version 5.
See the migration guide for details.
Changes since 6.4.0-beta
- Added implicit conversion from
JsonArray
andJsonObject
toJsonVariant
- Allow mixed configuration in compilation units (issue #809)
- Fixed object keys not being duplicated
JsonPair::key()
now returns aJsonKey
- Increased the default capacity of
DynamicJsonDocument
- Fixed
JsonVariant::is<String>()
(closes #763) - Added
JsonArrayConst
,JsonObjectConst
, andJsonVariantConst
- Added copy-constructor and copy-assignment-operator for
JsonDocument
(issue #827)
How to install
There are several ways to install ArduinoJson, from simpler to more complex:
- Use the Arduino Library Manager
- Download
ArduinoJson-v6.5.0-beta.h
put it in your project folder - Download
ArduinoJson-v6.5.0-beta.zip
and extract it in youlibraries
folder
Note: ArduinoJson-v6.5.0-beta.h
are ArduinoJson-v6.5.0-beta.hpp
are almost identical; the difference is that the .hpp
keeps everything in the ArduinoJson
namespace.
Try online
ArduinoJson 5.13.3
Changes since 5.13.2
- Improved float serialization when
-fsingle-precision-constant
is used - Fixed
JsonVariant::is<int>()
that returned true for empty strings - Fixed
JsonVariant::is<String>()
(closes #763)
How to install
There are several ways to install ArduinoJson, from simpler to more complex:
- Use the Arduino Library Manager
- Download
ArduinoJson-v5.13.3.h
put it in your project folder - Download
ArduinoJson-v5.13.3.zip
and extract it in youlibraries
folder
Note: ArduinoJson-v5.13.3.h
are ArduinoJson-v5.13.3.hpp
are almost identical; the difference is that the .hpp
keeps everything in the ArduinoJson
namespace.
ℹ️ The complete documentation is available on arduinojson.org
Try online
ArduinoJson 6.4.0-beta
Special note ⚠️
ArduinoJson 6 requires updating code written for version 5.
See the migration guide for details.
Changes since 6.3.0-beta
- Copy
JsonArray
andJsonObject
, instead of storing pointers (issue #780) - Added
JsonVariant::to<JsonArray>()
andJsonVariant::to<JsonObject>()
- Fixed "-0" (issue #808)
How to install
There are several ways to install ArduinoJson, from simpler to more complex:
- Use the Arduino Library Manager
- Download
ArduinoJson-v6.4.0-beta.h
put it in your project folder - Download
ArduinoJson-v6.4.0-beta.zip
and extract it in youlibraries
folder
Note: ArduinoJson-v6.4.0-beta.h
are ArduinoJson-v6.4.0-beta.hpp
are almost identical; the difference is that the .hpp
keeps everything in the ArduinoJson
namespace.
Try online
ArduinoJson 6.3.0-beta
Special note ⚠️
ArduinoJson 6 requires updating code written for version 5.
See the migration guide for details.
Changes since 6.2.3-beta
- Implemented reference semantics for
JsonVariant
- Replace
JsonPair
'skey
andvalue
withkey()
andvalue()
- Fixed
serializeJson(obj[key], dst)
(issue #794)
BREAKING CHANGES ⚠️
JsonVariant
JsonVariant
now has a semantic similar to JsonObject
and JsonArray
.
It's a reference to a value stored in the JsonDocument
.
As a consequence, a JsonVariant
cannot be used as a standalone variable anymore.
Old code:
JsonVariant myValue = 42;
New code:
DynamicJsonDocument doc;
JsonVariant myValue = doc.to<JsonVariant>();
myValue.set(42);
JsonPair
Old code:
for(JsonPair p : myObject) {
Serial.println(p.key);
Serial.println(p.value.as<int>());
}
New code:
for(JsonPair p : myObject) {
Serial.println(p.key());
Serial.println(p.value().as<int>());
}
CAUTION: the key is now read only!
How to install
There are several ways to install ArduinoJson, from simpler to more complex:
- Use the Arduino Library Manager
- Download
ArduinoJson-v6.3.0-beta.h
put it in your project folder - Download
ArduinoJson-v6.3.0-beta.zip
and extract it in youlibraries
folder
Note: ArduinoJson-v6.3.0-beta.h
are ArduinoJson-v6.3.0-beta.hpp
are almost identical; the difference is that the .hpp
keeps everything in the ArduinoJson
namespace.
Try online
ArduinoJson 6.2.3-beta
Special note ⚠️
ArduinoJson 6 requires updating code written for version 5.
Visit arduinojson.org for more information.
Changes since 6.2.2-beta
- Fixed exception when using Flash strings as object keys (issue #784)
How to install
There are several ways to install ArduinoJson, from simpler to more complex:
- Use the Arduino Library Manager
- Download
ArduinoJson-v6.2.3-beta.h
put it in your project folder - Download
ArduinoJson-v6.2.3-beta.zip
and extract it in youlibraries
folder
Note: ArduinoJson-v6.2.3-beta.h
are ArduinoJson-v6.2.3-beta.hpp
are almost identical; the difference is that the .hpp
keeps everything in the ArduinoJson
namespace.
Try online
ArduinoJson 6.2.2-beta
Special note ⚠️
ArduinoJson 6 requires updating code written for version 5.
Visit arduinojson.org for more information.
Changes since 6.2.1-beta
- Fixed
invalid application of 'sizeof' to incomplete type '__FlashStringHelper'
(issue #783) - Fixed
char[]
not duplicated when passed toJsonVariant::operator[]
How to install
There are several ways to install ArduinoJson, from simpler to more complex:
- Use the Arduino Library Manager
- Download
ArduinoJson-v6.2.2-beta.h
put it in your project folder - Download
ArduinoJson-v6.2.2-beta.zip
and extract it in youlibraries
folder
Note: ArduinoJson-v6.2.2-beta.h
are ArduinoJson-v6.2.2-beta.hpp
are almost identical; the difference is that the .hpp
keeps everything in the ArduinoJson
namespace.
Try online
ArduinoJson 6.2.1-beta
Special note ⚠️
ArduinoJson 6 requires updating code written for version 5.
Visit arduinojson.org for more information.
Changes since 6.2.0-beta
- Fixed
JsonObject
not inserting keys of typeString
(issue #782)
How to install
There are several ways to install ArduinoJson, from simpler to more complex:
- Use the Arduino Library Manager
- Download
ArduinoJson-v6.2.1-beta.h
put it in your project folder - Download
ArduinoJson-v6.2.1-beta.zip
and extract it in youlibraries
folder
Note: ArduinoJson-v6.2.1-beta.h
are ArduinoJson-v6.2.1-beta.hpp
are almost identical; the difference is that the .hpp
keeps everything in the ArduinoJson
namespace.
Try online
ArduinoJson 6.2.0-beta
Special note ⚠️
ArduinoJson 6 requires updating code written for version 5.
Visit arduinojson.org for more information.
Changes since 6.1.0-beta
- Disabled lazy number deserialization (issue #772)
- Improved float serialization when
-fsingle-precision-constant
is used - Renamed function
RawJson()
toserialized()
serializeMsgPack()
now supports values marked withserialized()
BREAKING CHANGES ⚠️
Non quoted strings
Non quoted strings are now forbidden in values, but they are still allowed in keys.
For example, {key:"value"}
is accepted, but {key:value}
is not.
Preformatted values
Old code:
object["values"] = RawJson("[1,2,3,4]");
New code:
object["values"] = serialized("[1,2,3,4]");
How to install
There are several ways to install ArduinoJson, from simpler to more complex:
- Use the Arduino Library Manager
- Download
ArduinoJson-v6.2.0-beta.h
put it in your project folder - Download
ArduinoJson-v6.2.0-beta.zip
and extract it in youlibraries
folder
Note: ArduinoJson-v6.2.0-beta.h
are ArduinoJson-v6.2.0-beta.hpp
are almost identical; the difference is that the .hpp
keeps everything in the ArduinoJson
namespace.
Try online
ArduinoJson 6.1.0-beta
Special note ⚠️
ArduinoJson 6 requires updating code written for version 5.
Visit arduinojson.org for more information.
Changes since 6.0.1-beta
- Return
JsonArray
andJsonObject
by value instead of reference (issue #309) - Replaced
success()
withisNull()
BREAKING CHANGES ⚠️
Old code:
JsonObject& obj = doc.to<JsonObject>();
JsonArray& arr = obj.createNestedArray("key");
if (!arr.success()) {
Serial.println("Not enough memory");
return;
}
New code:
JsonObject obj = doc.to<JsonObject>();
JsonArray arr = obj.createNestedArray("key");
if (arr.isNull()) {
Serial.println("Not enough memory");
return;
}
How to install
There are several ways to install ArduinoJson, from simpler to more complex:
- Use the Arduino Library Manager
- Download
ArduinoJson-v6.1.0-beta.h
put it in your project folder - Download
ArduinoJson-v6.1.0-beta.zip
and extract it in youlibraries
folder
Note: ArduinoJson-v6.1.0-beta.h
are ArduinoJson-v6.1.0-beta.hpp
are almost identical; the difference is that the .hpp
keeps everything in the ArduinoJson
namespace.
Try online
ArduinoJson 6.0.1-beta
Special note ⚠️
ArduinoJson 6 requires updating code written for version 5.
Visit arduinojson.org for more information.
Changes since 6.0.0-beta
- Fixed conflicts with
isnan()
andisinf()
macros (issue #752)
How to install
There are several ways to install ArduinoJson, from simpler to more complex:
- Use the Arduino Library Manager
- Download
ArduinoJson-v6.0.1-beta.h
put it in your project folder - Download
ArduinoJson-v6.0.1-beta.zip
and extract it in youlibraries
folder
Note: ArduinoJson-v6.0.1-beta.h
are ArduinoJson-v6.0.1-beta.hpp
are almost identical; the difference is that the .hpp
keeps everything in the ArduinoJson
namespace.