Android 如何根据收到的数据更改数据类型

Android 如何根据收到的数据更改数据类型,android,json,rest,Android,Json,Rest,我正在使用RESTAPI获取数据。JSON行看起来像“temp_c”:12,,我得到的结果如下 int temp = (int) list.get("temp_c"); 问题是行可以有int或double类型(比如temp\u c:12.5,),我有错误 java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.Double java.lang.ClassCastException: java.l

我正在使用RESTAPI获取数据。JSON行看起来像
“temp_c”:12,
,我得到的结果如下

int temp =  (int) list.get("temp_c");
问题是行可以有int或double类型(比如
temp\u c:12.5,
),我有错误

java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.Double
java.lang.ClassCastException: java.lang.Double cannot be cast to java.lang.Integer
如果我使用

double temp =  (double) list.get("temp_c");
我有错误

java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.Double
java.lang.ClassCastException: java.lang.Double cannot be cast to java.lang.Integer
试试这个

首先更改为
String
,然后使用
Double.parseDouble
进行解析

String str = list.get("temp_c")+"";
double temp = Double.parseDouble(str);