通过组合两个类的字段来创建JSON

ASh*_*ma7 2 java spring json jackson spring-boot

我有两个班:A班,B班

class A{
 private int F1;
 private String F2;
}

class B{
 private int F3;
 private String F4;
 private String F5;
}
Run Code Online (Sandbox Code Playgroud)

我想要一个像这样的JSON:

{
   "F1": 123
   "F2": "ABC"
   "F3": 456
   "F4": "CDE"
   "F5": "FGH"
}
Run Code Online (Sandbox Code Playgroud)

我正在使用springboot,一旦从@RestController返回对象,就会创建JSON.如何使用这两个类来实现上述json.

注意:1.)我已经知道通过使用A类扩展B,我可以实现这一点,但我正在寻找一些基于Spring的方法来实现这一点

2.)在B类中使用@Embeddable,然后在A类中创建引用,在JSON中创建另外的标记B,如下所示:

{
   "F1": 123
   "F2": "ABC"
    b: {
          "F3": 456
          "F4": "CDE"
          "F5": "FGH"
    }
}
Run Code Online (Sandbox Code Playgroud)

小智 5

如何使用jackson @JsonUnwrapped?

http://fasterxml.github.io/jackson-annotations/javadoc/2.0.0/com/fasterxml/jackson/annotation/JsonUnwrapped.html

public class A{

    @JsonUnwrapped
    private B b;

    public User getB() ...
}
Run Code Online (Sandbox Code Playgroud)