是否有SnakeYaml DumperOptions设置以避免双间距输出?
在解析/转储带有管道文本字段的简单YAML文件时,我似乎看到了双倍行距的输出 测试是:是否有SnakeYaml DumperOptions设置以避免双间距输出?,yaml,snakeyaml,Yaml,Snakeyaml,在解析/转储带有管道文本字段的简单YAML文件时,我似乎看到了双倍行距的输出 测试是: public void yamlTest() { DumperOptions printOptions = new DumperOptions(); printOptions.setLineBreak(DumperOptions.LineBreak.UNIX); Yaml y = new Yaml(printOptions); String input = "foo: |\n
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”上运行
谢谢
在使用文字样式的原始字符串中标记——它由“|”字符表示。转储文本时,使用单引号样式,忽略结尾的“\n”字符。这就是为什么它们用空行重复的原因。 尝试在DumperOptions中设置不同的样式:
// and others - FOLDED, DOUBLE_QUOTED
DumperOptions.setDefaultScalarStyle(ScalarStyle.LITERAL)
谢谢你的指针…这有助于我理解格式。遗憾的是,在不同的情况下,我需要不同的格式选项(短值和多行),所以看起来我需要一个自定义的重新输入。