我有两个班级:A类,B类
class A{
private int F1;
private String F2;
}
class B{
private int F3;
private String F4;
private String F5;
}
我想要这样的JSON:
{
"F1": 123
"F2": "ABC"
"F3": 456
"F4": "CDE"
"F5": "FGH"
}
我正在使用springboot,一旦我从@RestController返回对象,它就会创建JSON。如何使用这两个类实现上述json。
注意: 1.)我已经知道,通过使用A类扩展B,我可以实现 这,但我正在寻找一些基于弹簧的方法来实现这一目标
2。)在类B中使用@Embeddable然后在类A中创建引用将创建 JSON中的附加标签B,如下所示:
{
"F1": 123
"F2": "ABC"
b: {
"F3": 456
"F4": "CDE"
"F5": "FGH"
}
}
答案 0 :(得分:5)
使用jackson @JsonUnwrapped怎么样?
public class A{
@JsonUnwrapped
private B b;
public User getB() ...
}
答案 1 :(得分:1)
创建一个委托类AB
:
public final class AB {
private final A a;
private final B b;
public AB(A a, B b) {
this.a = a;
this.b = b;
}
// Delegation methods to A
public int getF1() { return this.a.getF1(); }
public String getF2() { return this.a.getF2(); }
// Delegation methods to B
public int getF3() { return this.b.getF3(); }
public String getF4() { return this.b.getF4(); }
public String getF5() { return this.b.getF5(); }
}