Получение строки 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);
Другие вопросы по тегам