如题所示,一般yaml结构中,字符串直接显示没有单引号的字符串,如果字符串由数字组成,为了区别真正的数字,这个字符串会使用单引号包围起来。
数据结构如下:
Map<String,Object> map = new LinkedHashMap<>(){
{
put("name","buejee");
put("age",18);
put("number","200");
}
};
默认,生成的yaml如下所示:
name: buejee
age: 18
number: '200'
这个结果是我们使用snakeyaml默认生成的,我们也许会想着设置yaml显示属性,比如设置:
options.setDefaultScalarStyle(DumperOptions.ScalarStyle.DOUBLE_QUOTED);
最终,我们的yaml结果生成是这样的:
"name": "buejee"
"age": !!int "18"
"number": "200"
这回,不管是不是字符串,统统都加了双引号。
我们其实想要的结果是这样的:
n