【发布时间】:2021-05-19 00:31:12
【问题描述】:
我正在使用 SnakeYaml 和 Java 尝试写入 yaml 文件,但在转储过程中我看到奇怪的字符...
这是我所拥有的:
PrintWriter writer = new PrintWriter(new File("./output.yaml"));
DumperOptions mapOptions = new DumperOptions();
mapOptions.setDefaultFlowStyle(DumperOptions.FlowStyle.AUTO);
mapOptions.setDefaultScalarStyle(DumperOptions.ScalarStyle.LITERAL); // THIS LINE
mapOptions.setPrettyFlow(true);
Yaml mapYaml = new Yaml(mapOptions);
mapYaml.dump("mapping:", writer);
mapYaml.dump(" \"table\":" + "\"" + map.get(tableName) + "\"", writer);
我的期待:
mapping:
"table": "tableName"
我得到的输出:
|-
mapping:
|2-
"table": "tableName"
我也尝试不使用 DumperOptions.ScalarStyle.Literal 行(// THIS LINE 注释),但我得到的是这个:
'mapping:'
' "table": "tableName"'
对于任何一种方法,我该怎么做
(1) 清除被转储的|- 和|2- 符号? (使用 ScalarStyle.LITERAL)
或
(2) 清除打印中的单引号? (没有 ScalarStyle.LITERAL)
感谢任何人对此提供的任何指导..
提前谢谢你!
【问题讨论】:
-
尝试将 setDefaultFlowStyle 更改为
DumperOptions.FlowStyle.BLOCK -
@LayneBernardo 将 FlowStyle 更改为 BLOCK 仍然存在这两个问题:(
标签: java yaml string-formatting snakeyaml