您的位置:首页 > Web前端 > JavaScript

打印fastjson对象时,如果内部键值为null,则该键不会打印出来

2017-02-09 14:15 561 查看


Q:问题描述

打印JSON对象时,如果内部键值为null,则该键不会打印出来。 

JSONObject{“a”:1,”b”:”“,”c”:null,”d”:”loongshawn”} 

打印出来JSONObject{“a”:1,”b”:”“,”d”:”loongshawn”},作如何解释…


A:解释说明


输入输出空值

在fastjson中,缺省是不输出空值的。无论Map中的null和对象属性中的null,序列化的时候都会被忽略不输出,这样会减少产生文本的大小。但如果需要输出空值怎么做呢?


使用SerializerFeature.WriteMapNullValue

Model obj = …; 

JSON.toJSONString(obj, SerializerFeature.WriteMapNullValue);


空值特别处理

SerializerFeature 描述 

WriteNullListAsEmpty 将Collection类型字段的字段空值输出为[] 

WriteNullStringAsEmpty 将字符串类型字段的空值输出为空字符串 “” 

WriteNullNumberAsZero 将数值类型字段的空值输出为0 

WriteNullBooleanAsFalse 将Boolean类型字段的空值输出为false
class Model {
public List<Objec> items;
}

Model obj = ....;

String text = JSON.toJSONString(obj, SerializerFeature.WriteMapNullValue, SerializerFeature.WriteNullListAsEmpty);
1
2
3
4
5
6
7
1
2
3
4
5
6
7
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐