美文网首页web
初学springboot使用fastJson替换默认的jacks

初学springboot使用fastJson替换默认的jacks

作者: 山水风情 | 来源:发表于2017-05-05 14:14 被阅读2133次

    <code>
    解决方式1:
    </code>

    
    import java.util.ArrayList;
    import java.util.List;
    
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import org.springframework.http.MediaType;
    import org.springframework.http.converter.HttpMessageConverter;
    import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
    
    import com.alibaba.fastjson.serializer.SerializerFeature;
    import com.alibaba.fastjson.support.config.FastJsonConfig;
    import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter;
    
    @SpringBootApplication  // 继承 WebMvcConfigurerAdapter   用于将fastjson替换原有的jackson
    public class MainApplication extends WebMvcConfigurerAdapter  {
        // 配置fastJson  用于替代jackson
        @Override
        public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
            super.configureMessageConverters(converters);
            //定义一个convert 转换消息的对象
            FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();
            // 2 添加fastjson 的配置信息 比如 是否要格式化 返回的json数据
            FastJsonConfig fastJsonConfig = new FastJsonConfig();
            fastJsonConfig.setSerializerFeatures(
                    SerializerFeature.PrettyFormat
            );
            fastConverter.setFastJsonConfig(fastJsonConfig);
            // 解决乱码的问题
            List<MediaType> fastMediaTypes = new ArrayList<>();
            fastMediaTypes.add(MediaType.APPLICATION_JSON_UTF8);
            fastConverter.setSupportedMediaTypes(fastMediaTypes);
            converters.add(fastConverter);
        }
    
       public static void main( String[] args )   {
            SpringApplication.run(MainApplication.class, args);
       }
    }
    
    

    <code>
    解决方式2:
    </code>

    在controller 的方法中 地址映射加入指定编码格式 这个时候也中文不乱码了
    @RequestMapping(value = "/", produces = "application/json; charset=utf-8")
    

    相关文章

      网友评论

      本文标题:初学springboot使用fastJson替换默认的jacks

      本文链接:https://www.haomeiwen.com/subject/odzjtxtx.html