Java 来自pojo类的长json请求包含太多字段
我想知道如何从POJO类创建长JSON请求并保持代码质量? 我有大约34个类,我必须使用它创建一个JSON请求。我的班级有大约30个私人领域,包括getter和setter 我使用ObjectMapper创建JSON,但我想知道如何维护不同类的setter 范例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
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。