YAML 配置文件中的重复键
Posted
技术标签:
【中文标题】YAML 配置文件中的重复键【英文标题】:Duplicate key in YAML configuaration file 【发布时间】:2018-05-19 23:32:59 【问题描述】:在 YAML 中有以下内容-
key1
key2: "value"
key1
key2
key3: "value2"
获取异常重复键key1。 引起:org.yaml.snakeyaml.parser.ParserException: while parseing MappingNode
尝试各种组合但无法正确解析。
有人可以在这里提供帮助或指导。
谢谢
【问题讨论】:
您可以指示 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"
【讨论】:
以上是关于YAML 配置文件中的重复键的主要内容,如果未能解决你的问题,请参考以下文章