如何分析在常规YAML文件?

问题描述 投票:19回答:2

说,如果你有一个名为example.yaml其中包含以下内容:- subject: maths

我如何抓住后- subject字符串?

我已经可以读取文件的内容,但想知道如何抓住它从一个特定的字符串。

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

groovy yaml
2个回答
27
投票

snakeyaml是解析YAML文件库。易溶于常规使用。

UPDATE:示例变量的变化类型列表,如示例文件中的顶级元素是一个集合

@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


9
投票

FWIW,即将到来的(在本文写作时)的Groovy 3.0版有YAML直接支持:与传统YamlSlurper / YamlBuilder组合你可以随时切换到这个还未正式发布的版本http://docs.groovy-lang.org/next/html/api/groovy/yaml/package-summary.html

© www.soinside.com 2019 - 2024. All rights reserved.