我正在尝试将数据从json获取到变量。变量之一是double类型,但它得到0.0值。我尝试了一些解决方案但它们没有用。

这是我的json:
 {“ unitfactor”:“ 0.1”,“ unit”:“ N”,“ canvassize”:{“ height”:“ 302”,“ width”:“ 412”}

码:

final JSONObject jObject = new JSONObject(fbeInput);
double mUnitFactor = jObject.getDouble("unitfactor");
String unit = jObject.getString("unit");


但是mUnitFactor始终获得0.0值。
即使我尝试将unitfactor提取为字符串,在调试过程中也没有显示任何值。

String mUnitFactor = jObject.getString("unitfactor");

最佳答案

"{"unitfactor":"0.1","unit":"N"}"


这是因为您的unitfactor 0.1是String。
更改为此:

"{"unitfactor":0.1,"unit":"N"}"


删除0.1上的双引号。

或尝试使用@iNan的方法:

double mUnitFactor = Double.parseDouble(fbeObject.getString("unitfactor"));


在这种方法中,您将首先获取String unitfactor值,即0.1,然后使用其包装器类将其解析为Double。

09-09 19:49