gpt4 book ai didi

java - SnakeYaml dump函数用单引号写入

转载 作者:太空宇宙 更新时间:2023-11-04 11:00:50 34 4
gpt4 key购买 nike

考虑以下代码:

public void testDumpWriter() {
Map<String, Object> data = new HashMap<String, Object>();
data.put("NAME1", "Raj");
data.put("NAME2", "Kumar");

Yaml yaml = new Yaml();
FileWriter writer = new FileWriter("/path/to/file.yaml");
for (Map.Entry m : data.entrySet()) {
String temp = new StringBuilder().append(m.getKey()).append(": ").append(m.getValue()).toString();
yaml.dump(temp, file);
}
}

以上代码的输出为

'NAME1: Raj'
'NAME2: Kumar'

但我想要不带单引号的输出

NAME1: Raj
NAME2: Kumar

这个东西解析文件非常舒服。如果有人有解决方案,请帮我解决。提前致谢

最佳答案

SnakeYaml 完全按照您的指示执行操作:对于 Map 中的每个条目,它将键、字符串 ": " 和值的串联转储为 YAML 文档。在 YAML 中,字符串映射到标量,并且由于标量包含 : 后跟空格,因此必须用引号引起来(否则它将是键值对)。

实际上想要做的是将 Map 转储为 YAML 映射。你可以这样做:

public void testDumpWriter() {
Map<String, Object> data = new HashMap<String, Object>();
data.put("NAME1", "Raj");
data.put("NAME2", "Kumar");

DumperOptions options = new DumperOptions();
options.setDefaultFlowStyle(DumperOptions.FlowStyle.BLOCK);
Yaml yaml = new Yaml(options);
FileWriter writer = new FileWriter("/path/to/file.yaml");
yaml.dump(data, writer);
}

关于java - SnakeYaml dump函数用单引号写入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46913105/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com