zoukankan      html  css  js  c++  java
  • fastjson数据返回配置

    阿里的fastjson 包升级后,可能导致返回的json 数据,字段为null时不显示等问题

    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>fastjson</artifactId>
        <version>1.9.13</version>
    </dependency>
    @Configuration
    public class FastjsonConfiguration {
    
    
      @Bean
      public HttpMessageConverters fastjsonConverter() {
        FastJsonConfig fastJsonConfig = new FastJsonConfig();
        //自定义格式化输出
        fastJsonConfig.setSerializerFeatures(SerializerFeature.WriteNullStringAsEmpty, SerializerFeature.WriteNullNumberAsZero);
    
        FastJsonHttpMessageConverter4 fastjson = new FastJsonHttpMessageConverter4();
        fastjson.setFastJsonConfig(fastJsonConfig);
        return new HttpMessageConverters(fastjson);
      }
    
    }
    SerializerFeature  类的一些枚举值
        WriteMapNullValue,
    
        WriteNullListAsEmpty //  将list的null转成 []
    
        WriteNullStringAsEmpty // 将string的null转成 ""
    
        WriteNullNumberAsZero
    
        WriteNullBooleanAsFalse,
    
        PrettyFormat,
    
        WriteClassName,
    
        WriteDateUseDateFormat,
    
        NotWriteRootClassName,
    
        BeanToArray,
    
        WriteNonStringKeyAsString,
    
        NotWriteDefaultValue,
        
        BrowserSecure,
        
        IgnoreNonFieldGetter,
    
        WriteNonStringValueAsString,
        
    
      

    springMVC 中设置

                <bean class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter"> 
                    <property name="supportedMediaTypes">
                        <list>
                            <value>text/html;charset=UTF-8</value>
                            <value>application/json</value>
                        </list>
                    </property>
                    <property name="features">
                        <list>
                            <value>WriteMapNullValue</value>
                            <value>QuoteFieldNames</value>
                        </list>
                    </property>
                   <!--  <property name="dateFormat" value="yyyy-MM-dd HH:mm:ss"/> -->
                </bean>

    2、脱敏设置

    1 ) 自定义 SensentiveField 类 实现  ObjectSerializer,并重写其方法
    2) @JSONField(serializeUsing =SensentiveField.class) 实体类的属性加上 注解

  • 相关阅读:
    利用JSON Schema校验JSON数据格式
    爬虫初体验:Python+Requests+BeautifulSoup抓取广播剧
    CSS选择器语法&示例
    Xpath语法&示例
    通过批处理命令for提取数据
    katalon系列十七:报告&Katalon Analytics
    katalon系列十六:代码运行时实时创建元素对象或列表
    PhpStorm 常用插件
    Nginx 配置 https
    Tmux 入门
  • 原文地址:https://www.cnblogs.com/yrjns/p/11766440.html
Copyright © 2011-2022 走看看