gpt4 book ai didi

java - 使用 Jackson 创建平面对象形式的嵌套 json

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:21:35 29 4
gpt4 key购买 nike

我知道 Jackson 允许使用 @JsonUnwrapped 创建平面 json,这样类的对象就像

public class Person {
public int age;
@JsonUnwrapped public Name name;

public class Name {
public String first, last;
}
}

会被序列化为

{"age" : 99, "first" : "Name", "last" : "Surname"}

但是,我找不到相反的方法 - 有一个类似的类

public class Person {
public int age;
public String firstName, lastName;
}

并将其对象序列化和反序列化

{"age" : 99, "name" : {"first" : "Name", "last" : "Surname"}}

这可能使用 Jackson 1.9 吗?

最佳答案

我在寻找同样的问题时偶然发现了这个相当古老的问题。我最终这样做了:

public class Person {
public int age;

@JsonIgnore
public String firstName, lastName;

protected void setName(PersonName name) {
firstName = name.first;
lastName = name.last;
}

protected PersonName getName() {
return new PersonName(firstName, lastName);
}

protected static class PersonName {
private final String first, last;

@JsonCreator
public PersonName(@JsonProperty("first") String first, @JsonProperty("last") String last) {
this.first = first;
this.last = last;
}
}
}

关于java - 使用 Jackson 创建平面对象形式的嵌套 json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21749777/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com