假设以下JSON:

{
 "attr_A": "val_A",
 "array_A": [{
    "attr_B": "val_B"
  }]
}


和以下两个类:

public class ClassA {
  List<ClassB> children = new ArrayList();
}


    

public class ClassB {
  String val_A;
  String val_B;
}


属性attr_Aarray_A中定义的所有对象定义一个公共值。现在,我在Spring项目中定义了一个REST控制器,该控制器需要此JSON,并将其解析为上述类。

我的最终目标是最终使用两个值将ClassB对象持久保存到数据库中:

TABLE ClassB(attr_A VARCHAR, attr_B VARCHAR)

最佳答案

创建一个请求类,如下所示:

public class RequestDto{
   String attr_A;
   List<ArrayClass> array_A;
   // getters and setters
}

public class ArrayClass{
   String attr_B;
   // getters and setters
}


使用requestDto作为@RequestBody。

public Response method(@RequestBody RequestDto request)


将请求对象放入控制器后。您可以遍历array_A并根据需要保存该值。

String attr_A = request.getAttr_A();
List<ArrayClass> arrayClassList = request.getArray_A();
for(ArrayClass arrayClass : arrayClasslist){
    String attr_B = arrayClass.getAttr_B();
    saveTableB(attr_A, attr_B);
}

09-25 21:56