FASTJSON返回数据首字母默认大小写问题(解决)

时间:2024-03-28 20:00:08

故事背景:
接手的同事框架,在优化时添加了FastJsonHttpMessageConverter,导致响应数据时转成默认的fastjson的字符格式,首字母小写的驼峰。
但是由于之前就对接过数据,导致以前上下游接字段大小写敏感接不到。
尝试过修改序列化特征SerializerFeature,没有适用我场景的。
查阅资料,还发现有人指导怎么强制首字母大写哈哈,这个太治标不治本了。

后来还是选择按照定义的字段名称大小写来输出。

解决方案:
修改fastjson包里的typeutil类里面的field属性即可,如图。
FASTJSON返回数据首字母默认大小写问题(解决)
设置compatibleWithFieldName这个属性为true,默认为false。

设置也很简单,在自定义fastjson转换器那里,修改一下即可。理论上来说,在properties文件或者yml文件中配置也是可行的。
如图:
FASTJSON返回数据首字母默认大小写问题(解决)
这个属性开启之后,返回响应转换成json时,则使用默认的字段名称进行转换。(当然也可以使用JSONField注解的形式)

其实消息转换大致也就在Type里或者序列化属性里,大家的定制化需求不妨自己写写看。

下次有空在分析一下fastjson的源码,看看他是如何将我们的响应一个个转换成json格式的。待续。。。