ArduinoJson returns DeserializationError::NotSupported when the input document contains a feature that is not supported by the library.

JSON

deserializeJson() returns NotSupported when the input contains a Unicode escape sequence like \u2665.

ArduinoJson can decode Unicode escape sequence, but this feature is disabled by default because it makes the code bigger. To enable it, you must define ARDUINOJSON_DECODE_UNICODE to 1, like that:

#define ARDUINOJSON_DECODE_UNICODE 1
#include <ArduinoJson.h>

MessagePack

ArduinoJson only supports a subset of the MessagePack specification. If the input contains a feature that is not currently supported, deserializeMsgPack returns NotSupported.

Here is the list of supported features:

Feature Supported?
bool yes
int yes
float yes
str yes
bin no
array yes
map yes
ext no
timestamp no