如何在SnakeYAML中解析带有破折号的字段名?

8

我有一个yaml文件片段:

field-name: my/data

但是我无法创建带有方法名称 setField-name 的POJO。

有没有办法解析这样的YAML文件?

1个回答

11
您可以传递一个自定义的PropertyUtils来处理这些情况。
Constructor c = new Constructor(MyClass.class);
c.setPropertyUtils(new PropertyUtils() {
    @Override
    public Property getProperty(Class<? extends Object> type, String name) throws IntrospectionException {
      if ( name.indexOf('-') > -1 ) {
        name = toCameCase(name);
      }
      return super.getProperty(type, name);
    }
  });
Yaml yaml = new Yaml(c);
MyClass obj = (MyClass) yaml.load(input);

1
toCamelCase方法的起源是什么? - Jin Kwon
1
你需要根据所需的键对应的属性名称来实现它。 - shyam

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接