我最近尝试将对象转储到.yaml
文件,一切正常。但是,问题是我想要一个ruby优化版本,因为ruby使用了输出文件。目前,转储文件包含以下内容:
{foo: null, bar: null, foo1: null, bar1: null}
但是,我需要输出如下:
---
bar: ~
bar1: ~
foo: ~
foo1: ~
那么,我怎么能用snakeyaml做到这一点。我在http://www.yamllint.com/获得了utf-8优化版本的ruby。
答案 0 :(得分:1)
如果我理解了您的问题,那么您可以使用yaml.dumpAsMap(map)
代替yaml.dump(map)
,使用TreeMap
然后使用String.replace(String, String)
Map<String, String> map = new TreeMap<>();
map.put("foo", null);
map.put("bar", null);
map.put("foo1", null);
map.put("bar1", null);
Yaml yaml = new Yaml();
String output = yaml.dumpAsMap(map); // yaml.dump(map);
System.out.println("---");
System.out.println(output.replace("null", "~"));
输出(按要求)
------
bar: ~
bar1: ~
foo: ~
foo1: ~