Known issues
Several compromises were made to reduce the footprint of the library:
- The parser isn’t strict and accepts some invalid inputs.
For example, it doesn’t reject malformed UTF-16 surrogate pairs, like\ud83d\ud83d
- Keys containing NUL characters (ASCII code 0, or
\u0000
) are not supported and get truncated. - The string-to-float conversion is not perfect.
For example, if the input is0.123
, you’ll get0.1230000000000001
. - The float-to-string conversion is not perfect either.
ArduinoJson serializes1.7976931348623147e308
into"1.797693135e308"
.
The rounding is correct, but the value exceedsdouble
’s range.