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());