Получение строки Yaml без тегов класса
Есть ли способ скрыть все теги из вывода YamlWriter, используя библиотеку yamlbeans?
public <T> String toYaml(T object) {
try (StringWriter stringWriter = new StringWriter()) {
YamlWriter writer = new YamlWriter(stringWriter);
writer.write(object);
writer.getConfig().writeConfig.setWriteRootTags(false);//replaces only root tag
writer.close(); //don't add this to finally, because it the text will not be flushed
return removeTags(stringWriter.toString());
} catch (IOException e) {
throw new RuntimeException(e);
}
}
private String removeTags(String string) {
//a tag is a sequence of characters starting with ! and ending with whitespace
return removePattern(string, " ![^\\s]*");
}
Спасибо.
0 ответов
Измените конфигурацию писателей так, чтобы они никогда не писали имена классов, и все готово:
writer.getConfig().writeConfig.setWriteClassname(YamlConfig.WriteClassName.NEVER);