在使用管道文本字段解析/转储简单的YAML文件时,我似乎看到了双倍行距输出。
测试是:
public void yamlTest()
{
DumperOptions printOptions = new DumperOptions();
printOptions.setLineBreak(DumperOptions.LineBreak.UNIX);
Yaml y = new Yaml(printOptions);
String input = "foo: |\n" +
" line 1\n" +
" line 2\n";
Object parsedObject = y.load(new StringReader(input));
String output = y.dump(parsedObject);
System.out.println(output);
}
,输出为:
{foo: 'line 1
line 2
'}
注意第1行和第2行之间的额外空格,以及在字符串结尾之前的第2行之后。
此测试在Mac OS X 10.6上运行,java版本为“1.6.0_29”。
谢谢!
标记
答案 0 :(得分:1)
在原始字符串中使用文字样式 - 它由“|”表示字符。转储文本时,使用单引号样式,忽略末尾的'\ n'字符。这就是他们用空行重复的原因。 尝试在DumperOptions中设置不同的样式:
// and others - FOLDED, DOUBLE_QUOTED
DumperOptions.setDefaultScalarStyle(ScalarStyle.LITERAL)