gpt4 book ai didi

java - 如何在加载 YAML 配置文件时验证其值?

转载 作者:行者123 更新时间:2023-11-30 07:01:08 25 4
gpt4 key购买 nike

有没有办法在代码中加载 YAML 文件时验证其值。要求是我的 YAML 文件中有一些元素必须具有值。如果验证失败,则不应加载 YAML。

我正在使用 Snakeyaml 库,听说有一种方法可以通过 Representer 来做到这一点。

我当前用于加载 YAML 的代码,

Reader in = new InputStreamReader(Files.newInputStream(file), StandardCharsets.UTF_8);
Yaml yaml = new Yaml();
yaml.setBeanAccess(BeanAccess.FIELD);
return yaml.loadAs(in, School.class);

最佳答案

由于 YAML 文件中可以有任何值,因此您应该在函数中加载该文件,测试这些值,如果这些值不是您想要的值,则引发错误。如果存在则返回加载的数据。

如果您的 YAML 具有创建任意对象的标签,则这可能会产生副作用,但在加载期间进行检查不会阻止这种情况,因为此类对象可能在您到达要检查的值之前就已创建。

如果您的 YAML 中确实有标签,并且这是一个真正的问题,那么您必须为可以处理标签的 YAML 文件创建一个 safe_load-er (通过创建普通映射对象),然后检查值并重新加载以提供完整的标签支持。

关于java - 如何在加载 YAML 配置文件时验证其值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40907099/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com