我如何在 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 结构的主要内容,如果未能解决你的问题,请参考以下文章

在 python 中验证 yaml 文档

如何停止为每个分支运行 azure dev ops yaml 验证构建?

如何使用 YAML、tavern 和 pytest 使用基本身份验证测试 API

Python如何调用yaml文件中的参数来执行ssh命令

如何在 OpenCV 中编辑/更新 YAML 文件?

如何在 Java 中使用蛇 yaml 序列化具有自定义名称的字段