如何把返给前端的json中的null替换成空字符串?
前提原因:前端需要没有null值的json
解决方案:用枚举写个单例模式的方法,把json中的null替换成空字符串""
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import java.util.Iterator; public enum JsonTool { /** * 用枚举设计单例模式! */ INSTANCE; /** * 将json对象中包含的null和JSONNull属性修改成"" */ public JSONObject filterNull(JSONObject jsonObj) { Iterator<String> it = jsonObj.keySet().iterator(); Object obj; String key; while (it.hasNext()) { key = it.next(); obj = jsonObj.get(key); if (obj instanceof JSONObject) { filterNull((JSONObject) obj); } if (obj instanceof JSONArray) { JSONArray objArr = (JSONArray) obj; for (int i = 0; i < objArr.size(); i++) { filterNull(objArr.getJSONObject(i)); } } if (obj == null) { jsonObj.put(key, ""); } } return jsonObj; } }
调用方法:
JsonTool.INSTANCE.filterNull(json)
下一篇:
GraalVM入门以及环境搭建