使用 SnakeYaml 解析时忽略来自 yaml 的字段(无法在类上找到属性)

Posted

技术标签:

【中文标题】使用 SnakeYaml 解析时忽略来自 yaml 的字段(无法在类上找到属性)【英文标题】:Ignore fields from yaml when parsing it using SnakeYaml (Unable to find property on class) 【发布时间】:2015-07-21 15:15:30 【问题描述】:

我正在使用 SnakeYaml 来解析 yaml 文件,是否可以忽略 yaml 文件中的属性?

【问题讨论】:

【参考方案1】:

我找到了:)

    Representer representer = new Representer();
    representer.getPropertyUtils().setSkipMissingProperties(true);
    
    
    Yaml yaml = new Yaml(new Constructor(MyClass.class),representer);

【讨论】:

如果您有一个调用 super.getProperty(type, name) 的自定义 PropertyUtils,则此解决方案不起作用。在这种情况下,您需要将调用包装在 try-catch 块中,如果失败则返回一个空的 Property 对象(:

以上是关于使用 SnakeYaml 解析时忽略来自 yaml 的字段(无法在类上找到属性)的主要内容,如果未能解决你的问题,请参考以下文章

无法解析类org.yaml.snakeyaml.Yaml @Grab('org.yaml:snakeyaml:1.17')Jenkins管道

SnakeYAML:解析时如何禁用下划线剥离?

如何在 SnakeYaml 中解析 YAML 文件的一部分

使用 SnakeYAML 从不受信任的来源加载 YAML 文件时会发生啥?

使用 SnakeYaml 将 java 对象写入文件 - 使用 Yaml.dump() 时不会写出内部对象列表

如何解决snakeyaml NoSuchMethodError:getStyle()