springboot使用fastjson处理json数据

首先是引入pom文件:

   
         com.alibaba  
         fastjson  
         1.2.15  
 
 

然后是两种方式:

第一种:启动类继承WebMvcConfigurerAdapter

 @Override  
        public void configureMessageConverters(List> converters) {  
           FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();
            FastJsonConfig fastJsonConfig = new FastJsonConfig();
            fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);
            //处理中文乱码问题
            List fastMediaTypes = new ArrayList<>();
            fastMediaTypes.add(MediaType.APPLICATION_JSON_UTF8);
            fastConverter.setSupportedMediaTypes(fastMediaTypes);
            fastConverter.setFastJsonConfig(fastJsonConfig);
            converters.add(fastConverter); 
        } 

另,其中的处理中文乱码的部分一定要加上,我做的时候就出现了乱码,加上部分代码解决。

第二种:注入Bean的方式:

@Bean  
    public HttpMessageConverters fastJsonHttpMessageConverters() {  
       FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();  
       FastJsonConfig fastJsonConfig = new FastJsonConfig();  
       fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);  
       fastConverter.setFastJsonConfig(fastJsonConfig);  
       //处理中文乱码
       List fastMediaTypes = new ArrayList<>();
       fastMediaTypes.add(MediaType.APPLICATION_JSON_UTF8);
       fastConverter.setSupportedMediaTypes(fastMediaTypes);
       HttpMessageConverter converter = fastConverter;  
       return new HttpMessageConverters(converter);  
    }  

这种方式可以达到同样的效果,但是在我的测试过程中,中文乱码问题即使加上了处理中文乱码的代码,还是有乱码,

首先我以为是我没加这个:


        UTF-8
        UTF-8
        1.8
   

结果还是乱码,后来百度在requestMapping上加了一句:

@RequestMapping(value="/getUser",produces = "application/json; charset=utf-8")

完美解决!

有问题交流:[email protected]

你可能感兴趣的:(SpringBoot)