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.7976931348623147e308into"1.797693135e308".
The rounding is correct, but the value exceedsdouble’s range.