假设以下JSON:
file:///file/path <--- happy
和以下两个类:
{
"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_A
中定义的所有对象定义一个公共值。现在,我在Spring项目中定义了一个REST控制器,该控制器需要此JSON并将其解析为上述类。
我的最终目标是最终使用两个值将ClassB对象持久保存到数据库中:
array_A
答案 0 :(得分:1)
创建请求类,如下所示:
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);
}
答案 1 :(得分:0)
以JSONbject或JsonNode或您的Spring配置给您的任何形式接收JSON,然后自己编写一些代码来复制字段以适合ClassA。