zoukankan      html  css  js  c++  java
  • java fastjson 设置全局输出name最小化

    1.通过自定义Filter实现

    https://github.com/alibaba/fastjson/wiki/SerializeFilter

    public class JackJsonLowCaseFilter implements NameFilter {
        public JackJsonLowCaseFilter() {
        }
    
        @Override
        public String process(Object source, String name, Object value) {
            if (name != null && name.length() != 0) {
               return  name.toLowerCase();
            } else {
                return name;
            }
        }
    }

    2.设置全局输出

     @Override
        public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
            super.configureMessageConverters(converters);
            //1.需要定义一个convert转换消息的对象;
            FastJsonHttpMessageConverter fastJsonHttpMessageConverter = new FastJsonHttpMessageConverter();
            //2.添加fastJson的配置信息,比如:是否要格式化返回的json数据;
            FastJsonConfig fastJsonConfig = new FastJsonConfig();
            fastJsonConfig.setSerializeFilters(new JackJsonLowCaseFilter());
            fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);
            //3处理中文乱码问题
            List<MediaType> fastMediaTypes = new ArrayList<>();
            fastMediaTypes.add(MediaType.APPLICATION_JSON_UTF8);
            //4.在convert中添加配置信息.
            fastJsonHttpMessageConverter.setSupportedMediaTypes(fastMediaTypes);
            fastJsonHttpMessageConverter.setFastJsonConfig(fastJsonConfig);
            //5.将convert添加到converters当中.
            converters.add(fastJsonHttpMessageConverter);
        }
  • 相关阅读:
    windows7上使用docker容器
    centos7 docker镜像加速器配置
    用列表生成器打印九九乘法表
    -bash: wget: command not found的两种解决方法
    centos7 Dockerfile安装nginx
    centos6.5关闭防火墙命令
    centos7开机启动tomcat7
    centos7安装tomcat7
    CentOS7防火墙firewalld
    poj_3662 最小化第k大的值
  • 原文地址:https://www.cnblogs.com/xcong/p/10115419.html
Copyright © 2011-2022 走看看