我正在使用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重新部署更新的代码,但添加注释显然不足以触发更新。不得不重新启动应用程序来接收它。
答案 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。