【问题标题】:Duplicate key in YAML configuaration fileYAML 配置文件中的重复键
【发布时间】:2018-05-19 23:32:59
【问题描述】:

在 YAML 中有以下内容-

key1
  key2: "value"

key1
  key2
    key3: "value2"

获取异常重复键key1。 引起:org.yaml.snakeyaml.parser.ParserException: while parseing MappingNode

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

有人可以在这里提供帮助或指导。

谢谢

【问题讨论】:

  • 您可以指示 SnakeYAML 允许重复键。

标签: spring-boot yaml snakeyaml


【解决方案1】:

您的 YAML 在语法上无效,但我假设它实际上看起来像这样:

key1:
  key2: "value"

key1:
  key2:
    key3: "value2"

您的错误是key1 在根节点中被用作映射键两次。根据YAML spec,这是非法的:

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

解决办法是让同一个映射的所有键都是唯一的:

key11:
  key2: "value"

key12:
  key2:
    key3: "value2"

【讨论】:

  • 由于某些要求限制,无法使键唯一
【解决方案2】:

我也遇到了同样的问题。然后它击中了我!答案很简单。 来自

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

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

【讨论】:

    【解决方案3】:

    你可以这样修复它:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-04-09
      • 2016-02-05
      • 2020-05-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多