gpt4 book ai didi

java - 使用 Jackson 将 YAML 子树映射到 POJO

转载 作者:行者123 更新时间:2023-12-01 17:16:28 25 4
gpt4 key购买 nike

我正在使用 Jackson 的对象映射器将 YAML 映射到我的 Pojo。我的 YAML 是一个配置文件,我想使用 Jackson 仅读取特定类型的配置。

以下是我的 YAML 的样子:

A:
a:
1: i
2: ii
3: iii

b:
foo: bar

我想读取 POJO 中 A.a 下的所有数据,即 1,2,3

我的 POJO 看起来像

public class MyPojo{
String one;
String two;
String three;
}

你明白了。我想映射 Pojo 中特定节点的所有子节点。

我知道我可以readTree("myYaml").get("A").get("a")并获取所有子项的列表。但是 Jackson 中是否已经有任何方法可以将该子树转换为 Pojo 就像 readValue(file, class)??

最佳答案

没有人帮助我,所以我帮助了自己:)。

有一个方法 treeToValue(TreeNode, Class),因此嵌套 treeToValuereadTree 有助于完成所需的操作。

所以为了读取子树A.a,我们需要这样做

File myYamlFile = new File(someclass.getClass().getClassLoader().getResource("myYAML").getFile())
MyPojo myPojo = jacksonObjectMapper.treeToValue(jacksonObjectMapper.readTree(myYamlFile).get("A").get("a"), MyPojo.class)

关于java - 使用 Jackson 将 YAML 子树映射到 POJO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61376189/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com