使用Jackson从嵌套的JSON字符串分配变量

时间:2018-12-14 18:49:39

标签: java json jackson

想知道是否有人可以帮助我找出将身体上下文分配给我的description String variable.

这是我的JSON字符串

{“要求”:{“描述”:{“正文”:“这是文本”}}}

public class Requirement implements Serializable {

    private String description;

    public String getDescription() {
        return this.description;
    }

    public void setDescription(String description) {
        this.description = description;
    }
}

我知道我可以使用@JsonProperty("description"),但是我的描述嵌套在不同的上下文中。在这种情况下,我只关心身体。

2 个答案:

答案 0 :(得分:1)

您的数据结构实际上是这样

class Requirement{
  private Description description;
}
class Description{
  private String body;
}

只需添加适当的@JsonProperty,就可以了。

通常,每个json对象都是一个单独的类(除非您映射到平面图)

答案 1 :(得分:1)

如果您不想让类具有与json相同的结构,则必须首先解压description对象并提取正文:

public class Requirement {
private String body;

@JsonProperty("description")
private void unpackNested(Map<String,Object> description) {
    this.body = (String)description.get("body");
}

}