提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
前后端数据传输时Long类型数据会精度丢失,为了解决这个问题,我写了个遍历JSONObject的方法.
一、代码
/**
* 将JSON的long,转成String,以防止精度丢失
*/
public JSONObject long2String(JSONObject jsonObject){
Iterator iter = jsonObject.entrySet().iterator();
while (iter.hasNext()) {
Map.Entry entry = (Map.Entry) iter.next();
if(entry.getValue() instanceof JSONObject){
long2String(jsonObject.getJSONObject(entry.getKey().toString()));
}
if(entry.getValue() instanceof JSONArray){
for (int i = 0; i < ((JSONArray) entry.getValue()).size(); i++) {
long2String(((JSONArray) entry.getValue()).getJSONObject(i));
}
}
if(entry.getValue() instanceof Long){
jsonObject.set(entry.getKey().toString(),String.valueOf(entry.getValue()));
}
}
return jsonObject;
}