如何在调用诸如:JSON.toJSONString()等方法时,不用手动添加各种Feature,是否有一个全局配置的地方?我知道有FastJsonConfig,但貌似是用于Message Converter的
原提问者GitHub用户feelinglin
是的,你说的没错,FastJsonConfig 主要是用于配置 MessageConverter 的。但是,你可以通过以下方式来实现全局配置:
创建一个类继承 WebMvcConfigurationSupport,并重写 configureMessageConverters 方法。 @Configuration public class MyWebMvcConfiguration extends WebMvcConfigurationSupport { @Override public void configureMessageConverters(List<HttpMessageConverter<?>> converters) { // 创建 FastJson 消息转换器 FastJsonHttpMessageConverter converter = new FastJsonHttpMessageConverter(); // 创建 FastJson 配置对象 FastJsonConfig config = new FastJsonConfig(); // 配置全局设置 config.setSerializerFeatures( SerializerFeature.WriteMapNullValue, SerializerFeature.WriteNullStringAsEmpty, SerializerFeature.WriteNullListAsEmpty, SerializerFeature.WriteNullBooleanAsFalse, SerializerFeature.WriteDateUseDateFormat, SerializerFeature.DisableCircularReferenceDetect); // 将配置对象设置到消息转换器中 converter.setFastJsonConfig(config); // 将消息转换器添加到转换器列表中 converters.add(converter); } } java 在 Spring Boot 应用程序的启动类上添加 @Import(MyWebMvcConfiguration.class) 注解,以将上述配置类导入到应用程序中。 @SpringBootApplication @Import(MyWebMvcConfiguration.class) public class MyApplication { public static void main(String[] args) { SpringApplication.run(MyApplication.class, args); } } java 这样就可以在全局范围内配置 FastJson 序列化器的行为,而不需要在每个方法调用中手动添加各种 Feature 了。
SON类增加了config方法,用于配置全局Features
问题已修复,请用新版本 https://github.com/alibaba/fastjson2/releases/tag/2.0.5
原回答者GitHub用户wenshao
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。