json在Java中将平面对象重新映射为结构化对象的最佳方法
我正在使用一种名为Verastream Host Integrator的技术。本质上,VHI是一种无代码/低代码GUI工具,用于处理编译成Java绑定的大型机数据
VHI的一个问题是它只能输出平面数据。以下是一个例子:
public class VhiProcedureRecord {
private String foo1;
private String foo2;
private String bar1;
private String bar2;
// constructors, getters, and setters
}
我正在通过Spring引导中间件层将此输出管道化,我希望将此对象重新映射到如下内容:
public class Foo {
private String foo1;
private String foo2;
// constructors, getters, and setters
}
public class Bar {
private String bar1;
private String bar2;
// constructors, getters, and setters
}
public class MyRecord {
private Foo foo;
private Bar bar;
// constructors, getters, and setters
}
如您所见,这需要在Foo
和Bar
之间拆分VhiProcedureRecord
中的字段。
手动操作很快就会成为一种巨大的痛苦
输出平坦的另一个问题是,当VHI输出包含一个数据列表时,它返回多个具有重复字段的记录,类似于SQL连接的外观,例如
public class VhiPetOwnershipRecord {
private String ownerName;
private String petName;
// constructors, getters, and setters
}
此过程的结果返回类似以下内容:
[
{"ownerName": "JHuang", "petName": "Fido"},
{"ownerName": "JHuang", "petName": "Spot"}
]
我想把它重新映射到:
public class MyPetOwnershipRecord {
private String ownerName;
private List<String> petName;
}
有没有一种方法可以使用Jackson或类似的东西来自动进行这种重新映射
请记住VhiProcedureRecord
是由VHI编译的,所以类不能更改
共 (0) 个答案