JSON.toJSONString()空字段不忽略修改
json
适用于现代 C++ 的 JSON。
项目地址:https://gitcode.com/gh_mirrors/js/json
免费下载资源
·
使用JSON.toJSONString(object)方法,返回的json中,null对应的key已经被过滤掉,这是因为默认会将为空的字段自动忽略,这明显不是我们想要的结果。 去掉JSON.toJSONString()空字段忽略方法两个如下
- 方法一
SerializerFeature序列化属性
String s = JSON.toJSONString(user, SerializerFeature.WriteNullStringAsEmpty);
QuoteFieldNames———-输出key时是否使用双引号,默认为true
WriteMapNullValue——–是否输出值为null的字段,默认为false
WriteNullNumberAsZero—-数值字段如果为null,输出为0,而非null
WriteNullListAsEmpty—–List字段如果为null,输出为[],而非null
WriteNullStringAsEmpty—字符类型字段如果为null,输出为”“,而非null
WriteNullBooleanAsFalse–Boolean字段如果为null,输出为false,而非nul
- 方法二
加上这个过滤器后,所有的null和"“串都会被转换成”"值输出到字符串中
private static ValueFilter valueFilter = (o, s, o1) -> o1 == null ? "" : o1;
public static void main(String[] args) {
User user = new User();
String s = JSON.toJSONString(user, valueFilter);
System.out.println(s);
}
- 测试代码如下
private static ValueFilter valueFilter = (o, s, o1) -> o1 == null ? "" : o1;
public static void main(String[] args) {
User user = new User();
String s1 = JSON.toJSONString(user);
System.out.println(s1);
String s2 = JSON.toJSONString(user, SerializerFeature.WriteNullStringAsEmpty);
System.out.println(s2);
String s3 = JSON.toJSONString(user, valueFilter);
System.out.println(s3);
}
- 测试结果如下
GitHub 加速计划 / js / json
41.72 K
6.61 K
下载
适用于现代 C++ 的 JSON。
最近提交(Master分支:1 个月前 )
960b763e
3 个月前
8c391e04
6 个月前
更多推荐
已为社区贡献4条内容
所有评论(0)