如何阅读YAML配置部分

时间:2019-01-16 16:07:37

标签: java yaml

我正在创建Yaml配置阅读器。我在获取价值时遇到一些问题 从部分。我已经创建了一种不读取分段键而是读取类似

Test:
  Yes:
    True: a
    False: b
  No:
    True:
      Default: c
    False: d

在yml文件上,我想将值的路径添加到HashMap。在上述情况下, HashMap中的路径应为

Test.Yes.True = a
Test.Yes.False = b
Test.No.True.Default = c
Test.No.False = d

请注意,“是”和“否”是“测试”中的部分。 True和False值位于“测试”等中的“是”部分中。 我不知道如何阅读上面的代码。

1 个答案:

答案 0 :(得分:2)

首先,您应该显示尝试过的内容以及失败的地方。这有助于我们为您的问题提供非常具体的答案。

现在,尝试将yaml转换为相应的Java POJO。您可以直接或逐步执行此操作。您可以自己做,也可以使用在线转换器。

  1. 首先,您可以将yaml文件转换为Json。 https://www.json2yaml.com/
  2. 然后使用json,您可以创建Java POJO。 http://pojo.sodhanalibrary.com/http://www.jsonschema2pojo.org/

将json转换为Java POJO将自动为您创建正确的映射格式,然后您就可以轻松使用它们。

对于最嵌套的“默认”值情况,如果需要,可以使用名称为"HashMap<String, String> trueHashMap = new HashMap<String, String>()"的HashMap,否则也可以使用带有“ True.java”的新POJO。”

public class True
{
    private String false;
    private String true;
    // getters setters
}

然后,您需要做一些研究以映射它们并选择配置。 注意: 您可以通过多个在线转换器来实现。我只提供了流行的。