1 | initial version |
The loss of precision in converting a Java Long value to a Dart int through jsonDecode() function in Dart/Flutter occurs because Java Long values are 64-bit signed integers, while Dart int values are 32-bit signed integers. Therefore, if the Java Long value is greater than 2^31-1 or less than -2^31, it will not fit within a Dart int and will result in a loss of precision. To avoid this, it is recommended to use a String representation for large integer values in JSON encoding and decoding.