hjson / hjson-java

Hjson for Java
https://hjson.github.io/
MIT License
159 stars 24 forks source link

Got wrong number when serialize a long number. #12

Open FalconIA opened 6 years ago

FalconIA commented 6 years ago

Got wrong number when serialize a long number.

Here is a example:

String in = "{ \"id\" : 8093873769532439696 }";
String out = JsonValue.readHjson(in).toString(Stringify.HJSON)

Got

{
  id: 8093873769532439552
}
laktak commented 6 years ago

8093873769532439696 is too large for the double type.

If you run this in Java you will see a similar result:

double d=Double.parseDouble("8093873769532439696");
FalconIA commented 6 years ago

It's the long type, not the double type. I do not think that JSON should be limited to double type as javascript.

Actually, Jackson2 can recognize this value correctly.