Java 如何从YAML文件中排除类?

Java 如何从YAML文件中排除类?,java,snakeyaml,Java,Snakeyaml,我使用SnakeYAML将数据持久化到YAML文件中 DumperOptions options = new DumperOptions(); options.setPrettyFlow(true); options.setAllowReadOnlyProperties(true); Yaml yml = new Yaml(options); FileWriter writer = new FileWriter(path); yml.dump(object, writer); writer.f

我使用SnakeYAML将数据持久化到YAML文件中

DumperOptions options = new DumperOptions();
options.setPrettyFlow(true);
options.setAllowReadOnlyProperties(true);
Yaml yml = new Yaml(options);

FileWriter writer = new FileWriter(path);
yml.dump(object, writer);
writer.flush();
writer.close();
当我试图保存结果时,我得到了这样的内容

!!com.test.yml.User
users:
- {
  name: Bob,
  age: 14
}
- {
  name: John,
  age: 15
}
我怎样才能逃课!!文件中的com.test.yml.User

另外,我不想保存空实体。比如说

- {
    name: null,
    age: 14
  }
应该是

- {
    age: 14
  }

此代码表示-请为自定义类用户使用Tag.MAP。由于映射标记是隐式的,因此标记将一起消失。但要将其解析回来,您必须指导SnakeYAML如何将数据解析到用户实例中。

代码示例通常在附带一些说明时更有用。代码中说-请使用Tag.MAP作为自定义类用户。由于映射标记是隐式的,因此标记将一起消失。但要将其解析回来,您必须指示SnakeYAML如何将数据解析到用户实例中。如何设置DumperOptions配置格式并将remove class标记重新输入Yaml构造函数?
Representer representer = new Representer();
representer.addClassTag(com.test.yml.User.class, Tag.MAP);
Yaml yaml = new Yaml(representer);