zoukankan      html  css  js  c++  java
  • FastJson中文乱码

    初学springboot使用fastJson替换默认的jackson后出现中文乱码

    解决方式1:

    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);
       }
    }
    
    
    

      

    解决方式2:

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

      

  • 相关阅读:
    Maven 查看jar包的间接依赖
    Maven 下载一个 jar 包 及其它所有依赖的jar 到本地
    maven 自动构建 web 工程模板命令
    Linux Centos系统中设置定时重启
    (转)关于Android中为什么主线程不会因为Looper.loop()里的死循环卡死?引发的思考,事实可能不是一个 epoll 那么 简单。
    Linux中设置系统时间和时区
    版本管理工具svn(转)
    #pragma预处理命令
    插入排序
    选择排序
  • 原文地址:https://www.cnblogs.com/achengmu/p/9294837.html
Copyright © 2011-2022 走看看