Java 配置Gson以更改json中的密钥

Java 配置Gson以更改json中的密钥,java,json,gson,Java,Json,Gson,我正在考虑在我的web服务中使用Gson,但我发现Gson以Json格式返回类中变量的名称作为键。 例如 Dog对象的Json如下: {"name":"Tommy","age":"12"} 现在,我的问题是,因为Json中的键(name和age)依赖于变量名,所以若我的变量名改变,那么键也会改变。然后,每当web服务中的变量名发生更改时,该web服务的客户端必须更改代码 他们的方法也是如此,所以我可以用一个键名映射每个变量。例如,将name映射到nameOfDog和age映射到ageOfDog

我正在考虑在我的web服务中使用Gson,但我发现Gson以Json格式返回类中变量的
名称作为键。
例如

Dog对象的Json如下:

{"name":"Tommy","age":"12"}
现在,我的问题是,因为Json中的键(
name
age
)依赖于变量名,所以若我的变量名改变,那么键也会改变。然后,每当web服务中的变量名发生更改时,该web服务的客户端必须更改代码

他们的方法也是如此,所以我可以用一个键名映射每个变量。例如,将
name映射到nameOfDog
age映射到ageOfDog
,这样json看起来就像

{"nameOfDog":"Tommy","ageOfDog":"12"}
是的,使用

因为is有一个
@Target(value=FIELD)
,所以它只能应用于实例字段

因此:

(在Jackson中是
@JsonProperty(“nameOfDog”)

{"nameOfDog":"Tommy","ageOfDog":"12"}
@SerializedName("nameOfDog")
String name;