Java 如何使用最小json读取数字

Java 如何使用最小json读取数字,java,json,minimal-json,Java,Json,Minimal Json,我正在使用Java解析JSON流。这个框架有许多方法从流中读取数字:asInt、asLong、asFloat和asDouble。假设我不知道什么是数值类型的元素,什么方法给我最好的精度?我这样问是因为我担心使用asDouble读取所有元素会导致信息丢失。这是一个错误的假设吗?假设您知道数字不会很大,我会使用浮点,因为它的内存较小。关于这个stackoverflow问题的最后一个回答就是我说使用float的原因。但如果您不确定,请使用双精度: 如果一个64位的长度被写成一个整数,并且大于2**53

我正在使用Java解析JSON流。这个框架有许多方法从流中读取数字:asInt、asLong、asFloat和asDouble。假设我不知道什么是数值类型的元素,什么方法给我最好的精度?我这样问是因为我担心使用asDouble读取所有元素会导致信息丢失。这是一个错误的假设吗?

假设您知道数字不会很大,我会使用浮点,因为它的内存较小。关于这个stackoverflow问题的最后一个回答就是我说使用float的原因。但如果您不确定,请使用双精度:

如果一个64位的长度被写成一个整数,并且大于2**53 IEEE double有一个52位尾数,那么将其作为一个double读取将失去精度


不过,有人可能会提出一个论点,即在JSON中存储这样一个数字是作者的错误,因为Javascript没有64位整数,只有双精度。

为什么你认为双精度会导致信息丢失?@hellboy查看[这个问题]的答案,了解我的恐惧。