YAML配置文件中的重复键

时间:2017-12-06 06:39:19

标签: spring-boot yaml snakeyaml

在YAML中有以下内容 -

key1
  key2: "value"

key1
  key2
    key3: "value2"

获取异常重复键key1。 引起:org.yaml.snakeyaml.parser.ParserException:解析MappingNode时

尝试各种组合但无法正确解析。

有人可以帮助或指导。

由于

3 个答案:

答案 0 :(得分:1)

你的YAML在语法上是无效的,但我假设它实际上是这样的:

key1:
  key2: "value"

key1:
  key2:
    key3: "value2"

您的错误是key1在根节点中使用两次作为映射键。根据{{​​3}}:

,这是非法的
  

映射节点的内容是一组无序的键:值节点对,并且每个键都是唯一的限制。

解决方案是使相同映射的所有键都唯一:

key11:
  key2: "value"

key12:
  key2:
    key3: "value2"

答案 1 :(得分:0)

I too faced the same issue. Then it struck on me! The answer is simple. From

mapping:
  refresh:
    schedule:
      frequency:
        milli: 86400000
mapping:
  refresh:
    schedule:
      initial:
        delay:
          ms: 30000

to

mapping:
  refresh:
    schedule:
      frequency:
        milli: 86400000
      initial:
        delay:
          ms: 30000

答案 2 :(得分:-2)

你可以这样修复它:

key1
  key2: "value"
  key2.key3: "value2"