Skip to content

Releases: bblanchon/ArduinoJson

ArduinoJson 6.5.0-beta

13 Oct 11:32
Compare
Choose a tag to compare
Pre-release

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 and JsonObject to JsonVariant
  • Allow mixed configuration in compilation units (issue #809)
  • Fixed object keys not being duplicated
  • JsonPair::key() now returns a JsonKey
  • Increased the default capacity of DynamicJsonDocument
  • Fixed JsonVariant::is<String>() (closes #763)
  • Added JsonArrayConst, JsonObjectConst, and JsonVariantConst
  • Added copy-constructor and copy-assignment-operator for JsonDocument (issue #827)

View version history

How to install

There are several ways to install ArduinoJson, from simpler to more complex:

  1. Use the Arduino Library Manager
  2. Download ArduinoJson-v6.5.0-beta.h put it in your project folder
  3. Download ArduinoJson-v6.5.0-beta.zip and extract it in you libraries 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

06 Oct 16:02
Compare
Choose a tag to compare

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)

View version history

How to install

There are several ways to install ArduinoJson, from simpler to more complex:

  1. Use the Arduino Library Manager
  2. Download ArduinoJson-v5.13.3.h put it in your project folder
  3. Download ArduinoJson-v5.13.3.zip and extract it in you libraries 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

11 Sep 14:37
Compare
Choose a tag to compare
Pre-release

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 and JsonObject, instead of storing pointers (issue #780)
  • Added JsonVariant::to<JsonArray>() and JsonVariant::to<JsonObject>()
  • Fixed "-0" (issue #808)

View version history

How to install

There are several ways to install ArduinoJson, from simpler to more complex:

  1. Use the Arduino Library Manager
  2. Download ArduinoJson-v6.4.0-beta.h put it in your project folder
  3. Download ArduinoJson-v6.4.0-beta.zip and extract it in you libraries 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

31 Aug 15:34
Compare
Choose a tag to compare
Pre-release

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's key and value with key() and value()
  • Fixed serializeJson(obj[key], dst) (issue #794)

View version history

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:

  1. Use the Arduino Library Manager
  2. Download ArduinoJson-v6.3.0-beta.h put it in your project folder
  3. Download ArduinoJson-v6.3.0-beta.zip and extract it in you libraries 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

19 Jul 18:53
Compare
Choose a tag to compare
Pre-release

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)

View version history

How to install

There are several ways to install ArduinoJson, from simpler to more complex:

  1. Use the Arduino Library Manager
  2. Download ArduinoJson-v6.2.3-beta.h put it in your project folder
  3. Download ArduinoJson-v6.2.3-beta.zip and extract it in you libraries 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

18 Jul 19:12
Compare
Choose a tag to compare
Pre-release

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 to JsonVariant::operator[]

View version history

How to install

There are several ways to install ArduinoJson, from simpler to more complex:

  1. Use the Arduino Library Manager
  2. Download ArduinoJson-v6.2.2-beta.h put it in your project folder
  3. Download ArduinoJson-v6.2.2-beta.zip and extract it in you libraries 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

17 Jul 08:33
Compare
Choose a tag to compare
Pre-release

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 type String (issue #782)

View version history

How to install

There are several ways to install ArduinoJson, from simpler to more complex:

  1. Use the Arduino Library Manager
  2. Download ArduinoJson-v6.2.1-beta.h put it in your project folder
  3. Download ArduinoJson-v6.2.1-beta.zip and extract it in you libraries 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

12 Jul 07:34
Compare
Choose a tag to compare
Pre-release

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() to serialized()
  • serializeMsgPack() now supports values marked with serialized()

View version history

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:

  1. Use the Arduino Library Manager
  2. Download ArduinoJson-v6.2.0-beta.h put it in your project folder
  3. Download ArduinoJson-v6.2.0-beta.zip and extract it in you libraries 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

02 Jul 08:05
Compare
Choose a tag to compare
Pre-release

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 and JsonObject by value instead of reference (issue #309)
  • Replaced success() with isNull()

View version history

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:

  1. Use the Arduino Library Manager
  2. Download ArduinoJson-v6.1.0-beta.h put it in your project folder
  3. Download ArduinoJson-v6.1.0-beta.zip and extract it in you libraries 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

11 Jun 10:35
Compare
Choose a tag to compare
Pre-release

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() and isinf() macros (issue #752)

View version history

How to install

There are several ways to install ArduinoJson, from simpler to more complex:

  1. Use the Arduino Library Manager
  2. Download ArduinoJson-v6.0.1-beta.h put it in your project folder
  3. Download ArduinoJson-v6.0.1-beta.zip and extract it in you libraries 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.

Try online