Java 配置Gson以更改json中的密钥
我正在考虑在我的web服务中使用Gson,但我发现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
名称作为键。
例如
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;