您好我在下面提到了我的json格式
[{
"id": "1",
"MinValue": 2,
"MaxValue": 29
}, {
"id": "2",
"MinValue": 0.5,
"MaxValue": 5.6
}]
我在解析MinValue& MaxValue的回报如2.0,29.0(浮动) 请帮助我获得确切的价值。
我的解析代码
JSONArray jsonArray = new JSONArray(result);
if (jsonArray != null) {
for (int i = 0; i < jsonArray.length(); i++) {
try {
JSONObject profileObject = jsonArray.getJSONObject(i);
String minValue = profileObject.getString(Constants.VALUE_BMCPROFILE_MINVALUE);
String maxValue = profileObject.getString(Constants.VALUE_BMCPROFILE_MAXVALUE);
}
}
}
答案 0 :(得分:1)
将其替换为
String minValue = profileObject.getString(Constants.VALUE_BMCPROFILE_MINVALUE);
String maxValue = profileObject.getString(Constants.VALUE_BMCPROFILE_MAXVALUE);
此
double minValue = profileObject.getDouble(Constants.VALUE_BMCPROFILE_MINVALUE, 0);
double maxValue = profileObject.getDouble(Constants.VALUE_BMCPROFILE_MAXVALUE, 0);
根据json数据,min和max值显然是Double not String。
答案 1 :(得分:0)
您可以从JSON
获取双倍值,然后根据需要删除.0
DecimalFormat decimalFormat=new DecimalFormat("#.#");
double minValue = decimalFormat.format(profileObject.getDouble(Constants.VALUE_BMCPROFILE_MINVALUE));
double maxValue = decimalFormat.format(profileObject.getDouble(Constants.VALUE_BMCPROFILE_MAXVALUE));
答案 2 :(得分:0)
这样的事情应该有效
JSONArray jsonArray = new JSONArray(result);
if (jsonArray != null) {
for (int i = 0; i < jsonArray.length(); i++) {
try {
JSONObject profileObject = jsonArray.getJSONObject(i);
Object minValue = profileObject.get(Constants.VALUE_BMCPROFILE_MINVALUE);
if (minValue instanceof Integer) {
int min = (int) minValue;
} else if (minValue instanceof Double) {
double min = (double) minValue;
}
Object maxValue = profileObject.get(Constants.VALUE_BMCPROFILE_MAXVALUE);
if (maxValue instanceof Integer) {
int max = (int) maxValue;
} else if (maxValue instanceof Double) {
double max = (double) maxValue;
}
} catch (Exception e) {
}
}
}
然后继续使用int或double来做你想做的事情
答案 3 :(得分:0)
如果您真的遇到麻烦,那么备用解决方案就是删除.0
这样的
if(MinValue.endsWith(".0")){
String myMinValue = MinValue.substring(0,MinValue.indexOf('.'))
}