过滤掉 snakeyaml 中的空字段

Filter out null fields in snakeyaml

我正在使用 snakeyaml 在 YAML 文件中打印我的对象。有些字段可能为空。 当这些字段为 null 时,如何防止它们被打印到文件中?

经过一番研究,我终于找到了解决办法。需要更改空字段在 Representer 中的表示方式 这是代码

Representer representer = new Representer() {
    @Override
    protected NodeTuple representJavaBeanProperty(Object javaBean, Property property, Object propertyValue,Tag customTag) {
        // if value of property is null, ignore it.
        if (propertyValue == null) {
            return null;
        }  
        else {
            return super.representJavaBeanProperty(javaBean, property, propertyValue, customTag);
        }
    }
};

在 YAML 对象中使用此表示器。