[alibaba/fastjson]反序列化时, 能不能加个类级别的注解, 针对整个类中所有的字段先trim再转换赋值?

2025-11-03 438 views
5

这里1310只有针对单个字段的设置, 如果类里面字段比较多的话, 就要累死了. 通过application/x-www-form-urlencoded方式提交时, spring mvc有提供org.springframework.beans.propertyeditors.StringTrimmerEditor处理, 通过application/json提交时, 针对jackson也有StdScalarDeserializer能进行全局处理. fastjson能不能也加上这么个功能呢, 这在前端无法控制时, 还是很有用的

回答

4

ParserConfig.getGlobalInstance().putDeserializer(String.class, new TrimStringDeserializer());

这个是全局的。

9

ParserConfig.getGlobalInstance().putDeserializer(String.class, new TrimStringDeserializer()); @kimmking 请问TrimStringDeserializer 应该怎么定义, 自定义的不生效呀

0

我采用的继承FastJsonHttpMessageConverter重写read方法,拿到Object以后采用ValueFilter 在filter中处理字符串trim,再反序列化为Object,这样可以实现字符串统一trim