zoukankan      html  css  js  c++  java
  • spring boot配置使用fastjson

    一、前言

    spring boot默认使用jackson来操作json数据,相比于jackson,fastjson更好用,功能也强大,所以这里记录一下在spring boot中配置使用fastjson的方法。

    二、添加依赖

    在pom.xml中添加以下依赖:

    <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>fastjson</artifactId>
                <version>1.2.32</version>
    </dependency>

    三、在启动类(含main函数的那个类)中添加以下代码:

    @Bean
        public HttpMessageConverters fastJsonHttpMessageConverters(){
            //1、先定义一个convert转换消息的对象
            FastJsonHttpMessageConverter fastConverter=new FastJsonHttpMessageConverter();
            //2、添加fastjson的配置信息,比如是否要格式化返回的json数据;
            FastJsonConfig fastJsonConfig=new FastJsonConfig();
            fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);
            //附加:处理中文乱码
            List<MediaType> fastMedisTypes = new ArrayList<MediaType>();
            fastMedisTypes.add(MediaType.APPLICATION_JSON_UTF8);
            fastConverter.setSupportedMediaTypes(fastMedisTypes);
            //3、在convert中添加配置信息
            fastConverter.setFastJsonConfig(fastJsonConfig);
            HttpMessageConverter<?> converter=fastConverter;
            return new HttpMessageConverters(converter);
        }

    四、测试

    假如实体类中有一个Date类型的属性time,则可以使用@JSONField()注解来制定返回的日期格式

    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date time;

    这样在返回json数据的时候,time就会被解析成“年-月-日 时:分:秒”的形式,还可以通过注解@JSONField(serialize = false)来决定一个字段是否被包含在返回的json中。更多用法可以参考:http://kimmking.github.io/2017/06/06/json-best-practice/

  • 相关阅读:
    codeforces #586 ABC~D
    codeforces #585 div2 ABCD
    编译原理实验 NFA子集法构造DFA,DFA的识别 c++11实现
    codeforces #599 div2 ABCD
    codeforces #598 div3 ABCDF
    codeforces #587 div3 ABCDE
    codeforces educational round 73 div2 ABCD
    Mud Puddles ( bfs )
    2019牛客多校第十场B.Coffee Chicken(递归)
    2019牛客多校训练第七场A. String(暴力)
  • 原文地址:https://www.cnblogs.com/sench/p/8867021.html
Copyright © 2011-2022 走看看