Releases: bblanchon/ArduinoJson
ArduinoJson 6.11.5
Changes since 6.11.4
- Added fallback implementations of
strlen_P()
,strncmp_P()
,strcmp_P()
, andmemcpy_P()
(issue #1073)
How to install
There are several ways to install ArduinoJson, from simpler to more complex:
- Use the Arduino Library Manager
- Download
ArduinoJson-v6.11.5.h
put it in your project folder - Download
ArduinoJson-v6.11.5.zip
and extract it in youlibraries
folder
Note: ArduinoJson-v6.11.5.h
and ArduinoJson-v6.11.5.hpp
are almost identical; the difference is that the .hpp
keeps everything in the ArduinoJson
namespace.
Try online
ArduinoJson 6.11.4
Changes since 6.11.3
- Added
measureJson()
to theArduinoJson
namespace (PR #1069 by @nomis) - Added support for
basic_string<char, traits, allocator>
(issue #1045) - Fixed example
JsonConfigFile.ino
for ESP8266 - Include
Arduino.h
ifARDUINO
is defined (PR #1071 by @nomis)
How to install
There are several ways to install ArduinoJson, from simpler to more complex:
- Use the Arduino Library Manager
- Download
ArduinoJson-v6.11.4.h
put it in your project folder - Download
ArduinoJson-v6.11.4.zip
and extract it in youlibraries
folder
Note: ArduinoJson-v6.11.4.h
and ArduinoJson-v6.11.4.hpp
are almost identical; the difference is that the .hpp
keeps everything in the ArduinoJson
namespace.
Try online
ArduinoJson 6.11.3
Changes since 6.11.2
- Added operators
==
and!=
forJsonDocument
,ElementProxy
, andMemberProxy
- Fixed comparison of
JsonVariant
when one contains a linked string and the other contains an owned string (issue #1051)
How to install
There are several ways to install ArduinoJson, from simpler to more complex:
- Use the Arduino Library Manager
- Download
ArduinoJson-v6.11.3.h
put it in your project folder - Download
ArduinoJson-v6.11.3.zip
and extract it in youlibraries
folder
Note: ArduinoJson-v6.11.3.h
and ArduinoJson-v6.11.3.hpp
are almost identical; the difference is that the .hpp
keeps everything in the ArduinoJson
namespace.
Try online
ArduinoJson 6.11.2
Changes since 6.11.1
- Fixed assignment of
JsonDocument
toJsonVariant
(issue #1023) - Fix invalid conversion error on Particle Argon (issue #1035)
How to install
There are several ways to install ArduinoJson, from simpler to more complex:
- Use the Arduino Library Manager
- Download
ArduinoJson-v6.11.2.h
put it in your project folder - Download
ArduinoJson-v6.11.2.zip
and extract it in youlibraries
folder
Note: ArduinoJson-v6.11.2.h
and ArduinoJson-v6.11.2.hpp
are almost identical; the difference is that the .hpp
keeps everything in the ArduinoJson
namespace.
Try online
ArduinoJson 6.11.1
Changes since 6.11.0
- Fixed
serialized()
not working with Flash strings (issue #1030)
How to install
There are several ways to install ArduinoJson, from simpler to more complex:
- Use the Arduino Library Manager
- Download
ArduinoJson-v6.11.1.h
put it in your project folder - Download
ArduinoJson-v6.11.1.zip
and extract it in youlibraries
folder
Note: ArduinoJson-v6.11.1.h
and ArduinoJson-v6.11.1.hpp
are almost identical; the difference is that the .hpp
keeps everything in the ArduinoJson
namespace.
Try online
ArduinoJson 6.11.0
Looking for a human-readable version?
📰 Read the article on arduinojson.org
Changes since 6.10.1
- Fixed
deserializeJson()
silently accepting aStream*
(issue #978) - Fixed invalid result from
operator|
(issue #981) - Made
deserializeJson()
more picky about trailing characters (issue #980) - Added
ARDUINOJSON_ENABLE_NAN
(default=0) to enable NaN in JSON (issue #973) - Added
ARDUINOJSON_ENABLE_INFINITY
(default=0) to enable Infinity in JSON - Removed implicit conversion in comparison operators (issue #998)
- Added lexicographical comparison for
JsonVariant
- Added support for
nullptr
(issue #998)
BREAKING CHANGES
NaN and Infinity
The JSON specification allows neither NaN not Infinity, but previous
versions of ArduinoJson supported it. Now, ArduinoJson behaves like most
other libraries: a NaN or and Infinity in theJsonDocument
, becomes
anull
in the output JSON. Also,deserializeJson()
returns
InvalidInput
if the JSON document contains NaN or Infinity.This version still supports NaN and Infinity in JSON documents, but
it's disabled by default to be compatible with other JSON parsers.
If you need the old behavior back, defineARDUINOJSON_ENABLE_NAN
and
ARDUINOJSON_ENABLE_INFINITY
to1
:#define ARDUINOJSON_ENABLE_NAN 1 #define ARDUINOJSON_ENABLE_INFINITY 1 #include <ArduinoJson.h>The "or" operator
This version slightly changes the behavior of the | operator when the
variant contains a float and the user requests an integer.Older versions returned the floating point value truncated.
Now, it returns the default value.// suppose variant contains 1.2 int value = variant | 3; // old behavior: value == 1 // new behavior value == 3If you need the old behavior, you must add
if (variant.is<float>())
.
How to install
There are several ways to install ArduinoJson, from simpler to more complex:
- Use the Arduino Library Manager
- Download
ArduinoJson-v6.11.0.h
put it in your project folder - Download
ArduinoJson-v6.11.0.zip
and extract it in youlibraries
folder
Note: ArduinoJson-v6.11.0.h
and ArduinoJson-v6.11.0.hpp
are almost identical; the difference is that the .hpp
keeps everything in the ArduinoJson
namespace.
Try online
ArduinoJson 6.10.1
Changes since 6.10.0
- Fixed error "attributes are not allowed on a function-definition"
- Fixed
deserializeJson()
not being picky enough (issue #969) - Fixed error "no matching function for call to write(uint8_t)" (issue #972)
How to install
There are several ways to install ArduinoJson, from simpler to more complex:
- Use the Arduino Library Manager
- Download
ArduinoJson-v6.10.1.h
put it in your project folder - Download
ArduinoJson-v6.10.1.zip
and extract it in youlibraries
folder
Note: ArduinoJson-v6.10.1.h
are ArduinoJson-v6.10.1.hpp
are almost identical; the difference is that the .hpp
keeps everything in the ArduinoJson
namespace.
Try online
ArduinoJson 6.10.0
Looking for a human-readable version?
📰 Read the article on arduinojson.org
Special note ⚠️
ArduinoJson 6 requires updating code written for version 5.
See the migration guide for details.
Changes since 6.9.1
- Fixed an integer overflow in the JSON deserializer
- Added overflow handling in
JsonVariant::as<T>()
andJsonVariant::is<T>()
.as<T>()
returns0
if the integerT
overflowsis<T>()
returnsfalse
if the integerT
overflows
- Added
BasicJsonDocument
to support custom allocator (issue #876) - Added
JsonDocument::containsKey()
(issue #938) - Added
JsonVariant::containsKey()
How to install
There are several ways to install ArduinoJson, from simpler to more complex:
- Use the Arduino Library Manager
- Download
ArduinoJson-v6.10.0.h
put it in your project folder - Download
ArduinoJson-v6.10.0.zip
and extract it in youlibraries
folder
Note: ArduinoJson-v6.10.0.h
are ArduinoJson-v6.10.0.hpp
are almost identical; the difference is that the .hpp
keeps everything in the ArduinoJson
namespace.
Try online
ArduinoJson 6.9.1
Looking for a human-readable version?
📰 Read the article on arduinojson.org
Special note ⚠️
ArduinoJson 6 requires updating code written for version 5.
See the migration guide for details.
Changes since 6.9.0
- Fixed warning "unused variable" with GCC 4.4 (issue #912)
- Fixed warning "cast increases required alignment" (issue #914)
- Fixed warning "conversion may alter value" (issue #914)
- Fixed naming conflict with "CAPACITY" (issue #839)
- Muted warning "will change in GCC 7.1" (issue #914)
- Added a clear error message for
StaticJsonBuffer
andDynamicJsonBuffer
- Marked ArduinoJson.h as a "system header"
How to install
There are several ways to install ArduinoJson, from simpler to more complex:
- Use the Arduino Library Manager
- Download
ArduinoJson-v6.9.1.h
put it in your project folder - Download
ArduinoJson-v6.9.1.zip
and extract it in youlibraries
folder
Note: ArduinoJson-v6.9.1.h
are ArduinoJson-v6.9.1.hpp
are almost identical; the difference is that the .hpp
keeps everything in the ArduinoJson
namespace.
Try online
ArduinoJson 5.13.5
Changes since 5.13.4
- Fixed warning "unused variable" with GCC 4.4 (issue #912)
- Fixed warning "maybe uninitialized" (issue #909)
- Added an clear message for
StaticJsonDocument
,DynamicJsonDocument
...
How to install
There are several ways to install ArduinoJson, from simpler to more complex:
- Use the Arduino Library Manager
- Download
ArduinoJson-v5.13.5.h
put it in your project folder - Download
ArduinoJson-v5.13.5.zip
and extract it in youlibraries
folder
Note: ArduinoJson-v5.13.5.h
are ArduinoJson-v5.13.5.hpp
are almost identical; the difference is that the .hpp
keeps everything in the ArduinoJson
namespace.
ℹ️ The complete documentation is available on arduinojson.org