如何在snakeyaml中使用破折号解析字段名称?

pix*_*xel 2 java field snakeyaml

我有yaml文件的片段:

field-name: my/data
Run Code Online (Sandbox Code Playgroud)

但我无法使用方法名称创建pojo setField-name

有什么方法可以解析此类Yaml文件?

shy*_*yam 5

您可以传递自定义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);
Run Code Online (Sandbox Code Playgroud)