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

标签 java json boon

我正在使用 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/

相关文章:

java - 面试问题 - 打印由按升序排序的给定字符串的字符形成的模式

java - 如何将文本解析成句子

javascript - 如何从这些 JSON 对象中过滤掉值

方法返回为字段的 JSON Marshal 结构

java - 序列化对象时更改字段名称

java - 是 <bean :define> and <c:set> the same in Java Struts?

java - 如何在android中使用套接字编程创建聊天应用程序?

javascript - 检查 json 对象返回 jquery 错误

java - Boon JsonFactory 无法解析列表列表