如何在groovy中解析YAML文件?

时间:2017-01-18 23:06:37

标签: groovy yaml

如果您有一个名为example.yaml的文件,其中包含以下内容: - subject: maths

如何在- subject之后抓住字符串?

我已经可以阅读该文件的内容,但想知道如何从中获取特定的字符串。

注意:我知道正则表达式可能有所帮助,但从未使用它,并希望得到任何帮助。

2 个答案:

答案 0 :(得分:23)

snakeyaml是一个解析YAML文件的库。易于在groovy中使用。

更新:将示例变量的类型更改为List,因为示例文件的顶级元素是集合

@Grab('org.yaml:snakeyaml:1.17')

import org.yaml.snakeyaml.Yaml

Yaml parser = new Yaml()
List example = parser.load(("example.yaml" as File).text)

example.each{println it.subject}

snakeyaml的完整文档:

https://bitbucket.org/asomov/snakeyaml/wiki/Documentation

答案 1 :(得分:6)

FWIW,即将到来(在撰写本文时),Groovy 3.0版已直接支持yaml: http://docs.groovy-lang.org/next/html/api/groovy/yaml/package-summary.html与传统的YamlSlurper / YamlBuilder组合 您始终可以切换到该尚未正式发布的版本。