我正在尝试将数据从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。