有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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
}

如您所见,这需要在FooBar之间拆分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) 个答案