将 Groovy Map 转换为 Yaml 格式的字符串

Convert Groovy Map to String in Yaml format

我正在使用 snakeYaml 将 YAML 格式的 String 转换为 Groovy Map.

@Grab(group='org.yaml', module='snakeyaml', version='1.17')
import org.yaml.snakeyaml.Yaml

Yaml yaml = new Yaml()

Map config = yaml.load(new File('config.yaml').text)

我现在想达到相反的目的:给定一个 Groovy Map,我想将它转换为 String YAML 格式,无需在文件中写入字符串。

我找到了 groovy.yaml.YamlBuilder。但是环境groovy编译器老了,没找到这个class

理想情况下,相同的库 (snakeYaml) 可以处理相反的情况。但是没办法让它工作。

yaml.dump() 是答案


Map config = [kind: 'Pod', metadata:[name: app]]

Yaml yaml = new Yaml()

assert yaml.dump(config) == '''kind: Pod
metadata:
  name: app
'''