关于JSON字符串转List和Map时,保留null值
最近在工作中需要处理响应字段,比如有些null值保留,有些不保留的问题。
对于list结构的报文,我们去做解析会采用JSONArray.parseArray(String jsonString)。
//用toString方法会过滤掉null值
JSONArray.parseArray(a.get("b").toString);
应该替换成如下代码代码
//toJSONString方法,SerializerFeature.WriteMapNullValue可以保留null字段
JSONArray.parseArray(JSON.toJSONString(a.get("b"),SerializerFeature.WriteMapNullValue));
具体原理有时间可以看看源码!