【发布时间】:2020-09-14 18:36:36
【问题描述】:
我正在尝试读取 Yaml 模板并动态替换模板中的某些字段并使用 Snake Yaml 创建一个新的 Yaml 文件。但是,当我使用蛇 yaml 时,如果字符串包含必填字段的空格,我会得到转义空格字符。谁能建议解决这个问题?
我又遇到了一个问题,从地图到带有空格的 yaml 转换。
例子:
--------------------------------
version: snapshot-01
kind: sample
metadata:
name: abc
options: "<placeholder>"
--------------------------------
我正在阅读上面的模板并动态替换所需的字段,如下所示。
Yaml yaml = new Yaml();
InputStream inputStream =
this.getClass().getClassLoader().getResourceAsStream(yamlTemplateLocation);
Map<String, Object>yamlMap = yaml.load(inputStream);
当我用包含空格的字符串替换占位符时,例如:“abc sfksajfkl jfajfkjakj jqjlkkalkl kajklfjalkd”
yamlMap.put("version","v-1.0");
yamlMap.put("options","abc sfksajfkl jfajfkjakj jqjlkkalkl kajklfjalkd");
我得到的输出为
--------------------------------
version: "v-1.0"
kind: sample
metadata:
name: abc
options: "abc sfksajfkl jfajfkjakj
\ jqjlkkalkl kajklfjalkd "
--------------------------------
注意:它正在生成转义空格字符(即“\”) 在“abc sfksajfkl jfajfkjakj \ jqjlkkalkl kajklfjalkd”
但我的要求如下 - 不应生成任何转义空格字符
--------------------------------
version: "v-1.0"
kind: sample
metadata:
name: abc
options: "abc sfksajfkl jfajfkjakj jqjlkkalkl kajklfjalkd"
--------------------------------
谁能帮我解决这个问题?提前致谢!
【问题讨论】:
标签: java spring yaml snakeyaml