web-dev-qa-db-fra.com

Comment analyser un fichier YAML dans groovy?

si vous avez un fichier appelé example.yaml qui contient les éléments suivants: - subject: maths.

Comment puis-je saisir la chaîne après - subject?

Je peux déjà lire le contenu du fichier mais je veux savoir comment en extraire une chaîne spécifique.

note: je sais que regex peut aider mais je ne l’ai jamais utilisé et apprécierais toute aide.

18
user3412172

snakeyaml est une bibliothèque pour analyser les fichiers YAML. Facile à utiliser en groovy.

UPDATE: changement du type de la variable exemple en liste, l'élément de niveau supérieur du fichier exemple étant une collection 

@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}

Documentation complète de snakeyaml:

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

23
Luis Muñiz

FWIW, le prochain (à l’heure de cette écriture) Groovy version 3.0 supporte directement yaml: http://docs.groovy-lang.org/next/html/api/groovy/yaml/package- summary.html avec le combo traditionnel YamlSlurper/YamlBuilder. Vous pouvez toujours passer à cette version non encore officiellement publiée.

2
Patrice M.