如何在snakeyaml中隐藏bean类型
作者:互联网
此代码将输出:(YAML)
— !! org.test.bean.Person
地址:4011 16th Ave S.
…..
无论如何都可以隐藏我的bean类型(org.test.bean.Person)!
(更喜欢使用snakeyaml配置…我找不到它..)
谢谢!!
public static void dumpYAML(){
Constructor constructor = new Constructor(Person.class);
TypeDescription personDescription = new TypeDescription(Person.class);
personDescription.putListPropertyType("phone", Tel.class);
constructor.addTypeDescription(personDescription);
Yaml yaml = new Yaml(constructor);
Person person = (Person) yaml.load(makeYAML());
DumperOptions options = new DumperOptions();
options.setDefaultFlowStyle(DumperOptions.FlowStyle.BLOCK);
options.setCanonical(false); // display bean member attribute
options.setExplicitStart(true); // display --- start
yaml = new Yaml(options);
String output = yaml.dump(person);
System.out.println(output);
}
解决方法:
使用org.yaml.snakeyaml.representer.Representer,设置Tag.MAP可以隐藏根标签.
Representer representer = new Representer();
representer.addClassTag(Person.class, Tag.MAP);
标签:java,yaml,snakeyaml 来源: https://codeday.me/bug/20190715/1467833.html