Java开发里遇到的奇奇怪怪的需求---JSON键值驼峰转下划线的实现

高手,哪位知道,Java开发里遇到的奇奇怪怪的需求---JSON键值驼峰转下划线的实现
最新回答
凭栏听雨

2026-10-22 07:51:38

上周,我在与第三方接口对接时,遇到了一个独特的需求。接口的key值采用了下划线命名方式,这与我常用的驼峰命名法相冲突,使用传统的JSONObject方式处理,需要手动逐个赋值,效率低且不够面向对象,明显缺乏极客精神。

实现过程如下:首先,我导入了Pom依赖,包括Jackson的三个Jar包和FastJson(使用FastJson是习惯问题,Jackson同样能完成任务)。模拟用户注册场景,提交一系列基本信息,如:

通过接口处理后,生成的数据如下:

实现细节在于Jackson Json库的几个注解。我指定了value的值,这样在生成JSON时,会按照指定的值进行处理。别名(alias)注解使得我能够接受多种可能的赋值,从而实现了驼峰与下划线分隔格式的兼容。

在用户实体类中,我按照上述规则进行了设计,如:

处理后,返回的实体类如下:

服务接口和其实现分别定义了如何处理请求和返回数据,确保整个流程的顺利进行。

在Controller层,我实现了对服务接口的调用,最终完成了对用户注册信息的正确处理和返回。