spring boot 用fastjson返回中文乱码
方法1:加入
@PostMapping(value = "/materialInfo",produces = "application/json; charset=utf-8")
方法2:
继承 WebMvcConfigurationSupport 重写 configureMessageConverters
/** * 替换框架json为fastjson * @param converters */ @Override public void configureMessageConverters(List<HttpMessageConverter<?>> converters) { FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter(); FastJsonConfig fastJsonConfig = new FastJsonConfig(); //驼峰转下划线 SerializeConfig serializeConfig=new SerializeConfig(); serializeConfig.propertyNamingStrategy= PropertyNamingStrategy.SnakeCase; fastJsonConfig.setSerializeConfig(serializeConfig); //序列化格式 fastJsonConfig.setSerializerFeatures( SerializerFeature.PrettyFormat, SerializerFeature.WriteNullStringAsEmpty ); // 处理中文乱码问题 List<MediaType> fastMediaTypes = new ArrayList<>(); fastMediaTypes.add(MediaType.APPLICATION_JSON_UTF8); fastConverter.setSupportedMediaTypes(fastMediaTypes); fastConverter.setFastJsonConfig(fastJsonConfig); //处理字符串, 避免直接返回字符串的时候被添加了引号 StringHttpMessageConverter smc = new StringHttpMessageConverter(Charset.forName("UTF-8")); converters.add(smc); converters.add(fastConverter); }
浙公网安备 33010602011771号