我正在使用 Boon JSON我想更改从 JSON 生成的类的字段名称。
我只想改变
{"first_name": "Cristine", "last_name": "McVie"}
因此它映射到 Java 字段:
String firstName;
String lastName;
我已经让一切正常工作(即,如果我在 JSON 中使用驼峰式大小写,则对象已正确创建。
我已经在类上尝试了 @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 Debug模式下运行,我相信 Eclipse 会重新部署更新的代码,但添加注释显然不足以触发更新。必须重新启动应用程序才能将其拾取。
最佳答案
您需要向字段添加一个 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 .
关于java - Boon JSON - 更改对象反序列化的字段名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33319698/