Java 从JSON中读取不带小数点的浮点或双精度值
有一个包含数百个值的Java 从JSON中读取不带小数点的浮点或双精度值,java,json,parsing,integer,double,Java,Json,Parsing,Integer,Double,有一个包含数百个值的JSON数组。我想解析一个数组,它也得到了带小数点和不带小数点的值。只要有一个没有小数点的值,我就会收到一条错误消息 java.lang.ClassCastException:java.lang.Integer不能转换为java.lang.Double 例如,我正在读取以下值: 99.06 //ok 4038.6 //ok 9448.8 //ok 3810 //error, since this will be interpreted as integer 这
JSON
数组。我想解析一个数组
,它也得到了带小数点和不带小数点的值。只要有一个没有小数点的值,我就会收到一条错误消息
java.lang.ClassCastException:java.lang.Integer不能转换为java.lang.Double
例如,我正在读取以下值:
99.06 //ok
4038.6 //ok
9448.8 //ok
3810 //error, since this will be interpreted as integer
这是我目前正在使用的代码:
double x = (double) jsonArray.get(7);
JSON
具有以下结构:
“数组:”[[6个值在此,第7个值应为双精度值,x个值在此],[same],…],…]
如果不确定该变量是整数还是双精度值,请不要键入强制转换变量。始终使用包装类。试试下面的方法
Double.parseDouble(a.get(7).toString());