【问题标题】:Convert Groovy Map to String in Yaml format将 Groovy Map 转换为 Yaml 格式的字符串
【发布时间】:2020-09-03 15:24:05
【问题描述】:

我正在使用 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,我想将其转换为 YAML 格式的 String 而不将字符串写入文件中。 p>

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

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

【问题讨论】:

  • 这能回答你的问题吗? How do I write to a YAML file using SnakeYaml?
  • 不一样。我想获取 Yaml 格式的字符串,而无需在文本中写入字符串
  • 对不起,但也许你必须更明确 - 我看不出yaml.dump([a: 1]) 不是你要问的? "将地图数据结构编码为 YAML"
  • 同意上面的@cfrick,转储的签名是String dump(Object data),即dump method返回一个String,我相信这就是你想要的?

标签: groovy yaml snakeyaml


【解决方案1】:

是的yaml.dump()是答案


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

Yaml yaml = new Yaml()

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-01-25
    • 1970-01-01
    • 2019-04-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-14
    • 1970-01-01
    相关资源
    最近更新 更多