使用snakeyaml加载yaml嵌套数据结构

时间:2019-12-20 12:30:03

标签: java snakeyaml

我正在尝试使用snakeyaml加载包含节点的嵌套结构的YAML文件。 我的数据结构如下所示,并且具有任意数量的嵌套节点(即child1-> child11-> child12):

'node1':
      'propertynode1key1': 'value'
      'propertynode1key2': 'value'
      ...
      'child1':
        'propertynode1child11': 'value'
        'propertynode1child12': 'value'
        ...
        'child11':
          'propertynode1child111': 'value'
          'propertynode1child112': 'value'
           ...
           'child12':
             'propertynode1child121': 'value'
             'propertynode1child122': 'value'
             ...
      'child2':
        'propertynode1child21': 'value'
        'propertynode1child22': 'value'
        ...
        'child21':
          'propertynode1child211': 'value'
          'propertynode1child212': 'value'
          ...
          'child22':
            'propertynode1child221': 'value'
            'propertynode1child222': 'value'
            ...
         ...

我正在使用snakeyaml的load方法导入yaml文件:

    //load a yaml file
    Reader yamlFile;
    try {
        yamlFile = new FileReader("/Users/asusti/jGit/"+ fileName + ".yaml"); 
        Map<String , Object> yamlMaps = (Map<String, Object>) yaml.load(yamlFile);
        for (String key:yamlMaps.keySet()) {
            System.out.println(String.format("|%-25s", "Key name:"+ key) + String.format("|%-25s", "Value:" + yamlMaps.get(key)));

        }

使用此代码,我得到了适当的key:第一层的值对,而没有解析所有嵌套层。 如何将任意数量的嵌套值加载到key:value映射结构中?

0 个答案:

没有答案