将JSON转换为POJO并返回时更改名称

将JSON转换为POJO并返回时更改名称,json,json-deserialization,Json,Json Deserialization,我从端点获取JSON,并使用GSON将其转换为POJO。我需要处理其中一些数据并将其转换回JSON,但名称不同。如果我使用@SerializedName,当它从JSON转换为POJO时,名称会更改,但当我转换回JSON时,名称会再次更改 我如何解决这个问题?如果您愿意从GSON切换到Jackson,那么您可以看到解决方案 编辑 假设您一直使用GSON,那么似乎不可能使用同一个类用不同的键读写同一个字段。虽然其他框架通过从getter和setter执行序列化和反序列化,并在这些方法上寻找自定义装饰

我从端点获取JSON,并使用GSON将其转换为POJO。我需要处理其中一些数据并将其转换回JSON,但名称不同。如果我使用@SerializedName,当它从JSON转换为POJO时,名称会更改,但当我转换回JSON时,名称会再次更改


我如何解决这个问题?

如果您愿意从GSON切换到Jackson,那么您可以看到解决方案

编辑

假设您一直使用GSON,那么似乎不可能使用同一个类用不同的键读写同一个字段。虽然其他框架通过从getter和setter执行序列化和反序列化,并在这些方法上寻找自定义装饰器来实现这一点(请参见使用字段vs getter来指示Json元素),但它们决定现在只使用字段

EDIT2


作为一种解决方法,我可能建议创建另一个POJO,该POJO可以从原始对象实例实例化,但具有要序列化回JSON的字段名。这可能有点麻烦,但您可以将其封装在主类上的
ToJSON()
方法中,以便在进行序列化时保持整洁。

您是否承诺使用GSON,或者,你愿意考虑其他的序列化/反序列化的库吗?承诺使用GSON,因为它是一个我不能做出决定的项目。