Java 来自pojo类的长json请求包含太多字段

Java 来自pojo类的长json请求包含太多字段,java,Java,我想知道如何从POJO类创建长JSON请求并保持代码质量? 我有大约34个类,我必须使用它创建一个JSON请求。我的班级有大约30个私人领域,包括getter和setter 我使用ObjectMapper创建JSON,但我想知道如何维护不同类的setter 范例 class A{ private int a1; private int a2; private int an; private B b; } class B{ private i

我想知道如何从POJO类创建长JSON请求并保持代码质量? 我有大约34个类,我必须使用它创建一个JSON请求。我的班级有大约30个私人领域,包括getter和setter

我使用ObjectMapper创建JSON,但我想知道如何维护不同类的setter

范例

class A{               
 private int a1;
 private int a2;
 private int an;    
 private B b;
}

class B{   
 private int b1;
 private int b2;
 private int bn;    
 private C c;
}    

I did code like below for above class

    A a =new A();
    a.setA1();
    a.setA2();
    a.setA3();
    A.setAn();

    B b=new B();
    b.setB1();
    b.setB2();
    b.setB3();
    b.setBn();
    A.setB(b);

    ObjectMapper Obj = new ObjectMapper();
    String jsonStr = Obj.writeValueAsString(request);
    System.out.println(jsonStr);

这是否正确,或者我如何从主代码中删除setter部分并管理另一个位置?

您可以创建一个顶级类,并将所有34个类作为属性添加到顶级类中,以及这些属性的getter和setter,并用jackson@JsonProperty(“value”)注释这些属性

例如:-

public class TopLevel{

@JsonProperty("A")
private A a;
@JsonProperty("B")
private B b;
@JsonProperty("C")
private C c;
..
..
..
..
..
your 34 classes and 
//constructor with all the parameters.... 
并在对象映射器中调用Topleve类

ObjectMapper mapper = new ObjectMapper();
     A a = new A(a1,a2,an);
     B b = new B(b1,b2,bn);
     ..
     .. so on..
     TopLevel top= new TopLevel(a, b, c,........so on);
     String jsonWriter = mapper.writerWithDefaultPrettyPrinter()
         .writeValueAsString(top);
     System.out.println(jsonWriter);

您好,对于设置任何类对象的值,您可以创建另一个方法,该方法一次接受所有值并设置该对象的值,而无需单独设置每个值。与设置值类似(vartypevar1、vartypevar2、…、vartypevarn)。这样,您就可以维护每个类的setter。