1.当我们在JSON里像这样json.put("key",null);put值进去的话,这个键值对就会被隐藏掉例如下面的例子:
<pre name="code" class="html"> Map < String , Object > jsonMap = new HashMap< String , Object>();
jsonMap.put("a",1);
jsonMap.put("b",null);
String str = JSONObject.toJSONString(jsonMap);
System.out.println(str);
控制台输出的是:{"a":1}
2.或者当你要传值时,存进去一个get到的值,但是没有判断,这个值为null时,很容易被忽略,此时的键值对就会消失,导致调用接口失败。
解决方案:
SerializerFeature.WriteMapNullValue
String str = JSONObject.toJSONString(jsonMap,SerializerFeature.WriteMapNullValue);