我如何在 Java 编程中验证 YAML 结构
Posted
技术标签:
【中文标题】我如何在 Java 编程中验证 YAML 结构【英文标题】:How could I validate a YAML structure in java programming 【发布时间】:2016-01-04 13:51:34 【问题描述】:我的目录中有一个 YAML 文件,我想使用 java 编程验证 YAML 文件的结构是否正确。在网上它有很多 YAML 检查器,但我想在 java 编程中验证它。
【问题讨论】:
【参考方案1】:只需尝试使用您的 YAML 解析器/库加载它。如果抛出错误,则捕获它并且结构无效。这也是在线解析器的工作方式。
【讨论】:
虽然这是正确的,但这种方法并未涵盖所有用例,例如XSD 涵盖了 XML 文件。例如。当 YAML 文件缺少 mandatory 属性时,在创建的 POJO/bean 中将其设置为null
(不会产生错误)。我所说的至少适用于snakeyaml。可能会有更多功能丰富的解析器。【参考方案2】:
您可以使用 Jackson 或 SnakeYAML 等 YAML 解析器/库:
https://www.baeldung.com/jackson-yaml
https://www.baeldung.com/java-snake-yaml
【讨论】:
【参考方案3】:还有https://github.com/EsotericSoftware/yamlbeans
我发现的一个问题是 JSON 对象是可接受的 YAML 1.2 并且可以说是 1.1 格式。
What valid JSON files are not valid YAML 1.1 files?
【讨论】:
以上是关于我如何在 Java 编程中验证 YAML 结构的主要内容,如果未能解决你的问题,请参考以下文章
如何停止为每个分支运行 azure dev ops yaml 验证构建?