IDEA 使用fastjson解决乱码 swagger访问接口正常,直接访问浏览器接口返回乱码
【摘要】 目录原因:解决代码:原因:最近遇到的问题,重新搭建java项目的时候没有发现这个问题,同事使用的时候发现的问题,现在记录一下解决的过程,使用fastjson解决乱码解决代码:@Configurationpublic class FastJsonConfig { @Bean public HttpMessageConverters fastJsonHttpMessageConverte...
目录
原因:
最近遇到的问题,重新搭建java项目的时候没有发现这个问题,同事使用的时候发现的问题,现在记录一下解决的过程,
使用fastjson解决乱码
解决代码:
@Configuration
public class FastJsonConfig {
@Bean
public HttpMessageConverters fastJsonHttpMessageConverters() {
//用字段名作为序列化和反序列化的key值
TypeUtils.compatibleWithFieldName = true;
//指定时区
TimeZone.setDefault(TimeZone.getTimeZone("GMT+8"));
//替换springboot的json框架为fastjson
FastJsonHttpMessageConverter fastJsonHttpMessageConverter = new FastJsonHttpMessageConverter();
com.alibaba.fastjson.support.config.FastJsonConfig fastJsonConfig = new com.alibaba.fastjson.support.config.FastJsonConfig();
// 空值特别处理
// WriteNullListAsEmpty 将Collection类型字段的字段空值输出为[]
// WriteNullStringAsEmpty 将字符串类型字段的空值输出为空字符串 ""
// WriteNullNumberAsZero 将数值类型字段的空值输出为0
// WriteNullBooleanAsFalse 将Boolean类型字段的空值输出为false
fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat, SerializerFeature.WriteNullListAsEmpty,
SerializerFeature.WriteNullStringAsEmpty,SerializerFeature.WriteNullNumberAsZero,SerializerFeature.WriteNullBooleanAsFalse);
List fastMediaTypes = new ArrayList<>();
fastMediaTypes.add(MediaType.APPLICATION_JSON_UTF8);
fastJsonHttpMessageConverter.setSupportedMediaTypes(fastMediaTypes);
fastJsonHttpMessageConverter.setFastJsonConfig(fastJsonConfig);
HttpMessageConverter converter = fastJsonHttpMessageConverter;
return new HttpMessageConverters(converter);
}
}
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
作者其他文章
评论(0)