String str = "{userId:1,nickName:null}";
String jsonObject = JSONObject.toJSONString(str, SerializerFeature.WriteMapNullValue);
System.out.println(jsonObject);
我最后是要获取JSONObject 这个东西
@小埋的哥哥!: 试了一下没办法,jsonobject的parseobject()方法会自动过滤掉值为null的数据,既然nickname的值为null,就不要获取了,拿来也没用,用逻辑控制一下,获取不到就赋值为null,而且jsonobject的entryset()不能用add()和addall()方法,不能手动追加上去,要不然就在传值的时候把null换成空字符串。
@小埋的哥哥!: 或者在转json前处理一下
String str = "{userId:1,nickName:null}";
str = str.replaceAll("null","''");
System.out.println(str);
JSONObject jsonObject = JSONObject.parseObject(str);
System.out.println(jsonObject);
parseObject方法没有参数控制吗?如果没有,就把nickname设置为空字符串吧。我搜索到这个,你看有用没:
https://zhidao.baidu.com/question/1609557996711231467.html
你确定真的不见了,还是只是没有打印出来。
String str = JSONObject.toJSONString(jsonMap,SerializerFeature.WriteNullStringAsEmpty);
System.out.println(str);
就行了
Map<String,Object> map = JSONObject.parseObject(String,new TypeReference<Mao<String,Object>>(){})用这个可以解决