Boon JSON - 更改对象反序列化的字段名称

时间:2015-10-24 15:13:39

标签: java json boon

我正在使用Boon JSON,我想更改从JSON生成的类的字段名称。

我只是想改变

{"first_name": "Cristine", "last_name": "McVie"}

因此它映射到Java字段:

String firstName;
String lastName;

我已经完成了所有工作(例如,如果我在JSON中使用camel-case,则会正确创建对象。

我已经尝试了@JsonPropery和(根据评论中的建议)对课程的@Named注释,如下所示:

public class Person {
    @Named("first_name")
    private String firstName;
    @Named("first_name")
    public String getFirstName() {
        return firstName;
    }
    @Named("first_name")
    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }

只是为了启发,这就是为什么我一开始没有看到@JsonProperty工作的原因。这个应用程序在Eclipse调试模式下运行,我信任Eclipse重新部署更新的代码,但添加注释显然不足以触发更新。不得不重新启动应用程序来接收它。

1 个答案:

答案 0 :(得分:2)

您需要在字段中添加SerializedName注释(如GSON)或JsonProperty注释(如Jackson),如下所示:

import org.boon.json.annotations.JsonProperty;
import org.boon.json.annotations.SerializedName;

public static class Person {
    @SerializedName("first_name")
    String firstName;

    @JsonProperty("last_name")
    String lastName;
}

您可以看到另一个示例in the documentation