FastJson转map 为null的值等于""

1. spring-mvc.xml

<bean id="fastJsonHttpMessageConverter" class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter4">
        <property name="defaultCharset" value="UTF-8"/>
        <property name="supportedMediaTypes">
            <list>
                <!-- 这里顺序不能反,一定先写text/html,不然ie下出现下载提示 -->
                <value>text/html;charset=UTF-8</value>
                <value>application/json;charset=UTF-8</value>
            </list>
        </property>
        <property name="fastJsonConfig">
            <bean class="com.alibaba.fastjson.support.config.FastJsonConfig">
                <!-- 默认编码 -->
                <property name="charset" value="UTF-8"/>
                <!-- 日期格式化 -->
                <property name="dateFormat" value="yyyy-MM-dd HH:mm:ss"/>
                <!-- 序列化配置 -->
                <property name="serializerFeatures">
                    <array value-type="com.alibaba.fastjson.serializer.SerializerFeature">
                        <!-- 输出key时是否使用双引号,默认为true -->
                        <value>QuoteFieldNames</value>
                        <!-- 避免循环引用 -->
                        <value>DisableCircularReferenceDetect</value>
                        <!-- 是否输出值为null的字段 -->
                        <value>WriteMapNullValue</value>
                        <!-- 数值字段如果为null,输出为0,而非null -->
                        <value>WriteNullNumberAsZero</value>
                        <!-- 字符类型字段如果为null,输出为"",而非null -->
                        <value>WriteNullStringAsEmpty</value>
                        <!-- list字段如果为null,输出为[],而非null -->
                        <value>WriteNullListAsEmpty</value>
                        <!-- boolean字段如果为null,输出为false,而非null -->
                        <value>WriteNullBooleanAsFalse</value>
                        <!-- 设置使用文本方式输出日期,fastjson默认是long -->
                        <value>WriteDateUseDateFormat</value>
                        <!-- 兼容 IE6 -->
                        <value>BrowserCompatible</value>
                    </array>
                </property>

                <!-- SerializeFilter -->
                <property name="serializeFilters">
                    <list>
                        <bean class="com.zxk175.ssm.common.util.json.FastJsonValueFilter"/>
                    </list>
                </property>
            </bean>
        </property>
    </bean>

2. FastJsonValueFilter

public class FastJsonValueFilter implements ValueFilter {
    /**
     * fastjson 值过滤器
     */
    @Override
    public Object process(Object object, String name, Object value) {
        if (value == null)
            return "";
        return value;
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,026评论 19 139
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 46,974评论 6 342
  • =========================================================...
    lavor阅读 3,508评论 0 5
  • 2017年10月26日日志。 早上起来把同学们所有的宣言都看过了一遍,尤其是死党的事业部分,真是看得脑仁有点疼。。...
    蓝朵格格阅读 230评论 0 5
  • 前几天,偶然间听到阿杜的《他一定很爱你》。 我真的都要快忘掉这个歌手了,我听到后还特别激动的说,天啊,阿杜诶,阿杜...
    静墨染允阅读 352评论 0 0