17

Jackson 有 @JsonProperty("name") 注解,可以应用到方法上——方法的返回值会被赋值给 JSON 中的 "name" 参数。

我发现 Gson 有 @SerializedName 注释,但不能与方法一起使用。有没有办法为 Gson 中的方法获取 @JsonProperty 功能?

4

4 回答 4

33

尝试

@SerializedName("serialized_fld_name")

于 2014-01-12T18:15:50.760 回答
7

Gson 中的解决方案是一个名为 @SerializedName 的类似注解,您可以使用它来提供与源 JSON 匹配的名称。

一个简单的例子如下所示:

public class Message {
    @SerializedName("ID")
    private String id;
    @SerializedName("NFd")
    private int fileDescriptors;
}

资源

于 2019-07-23T12:33:08.950 回答
1

不,那里没有。我记得,邮件列表中有一个来自核心开发人员的帖子,Gson 也不太可能得到如此增强。

于 2013-01-23T16:40:41.133 回答
1

我对 Gson 有同样的问题,而 @SerializedName 对我没有帮助。所以我使用了 org.codehaus.jackson.map.ObjectMapper

ObjectMapper mapper = new ObjectMapper();
String responseJson = mapper.writeValueAsString(object);
于 2015-03-11T07:00:28.763 回答