Java:
Travailler avec YAML
Comment faire :
En Java, vous pouvez travailler avec des fichiers YAML en utilisant des bibliothèques tierces puisque l’Édition Standard de Java n’inclut pas de support intégré pour YAML. Une bibliothèque populaire est SnakeYAML, qui permet de parser et de générer des données YAML facilement.
Configurer SnakeYAML
Tout d’abord, incluez SnakeYAML dans votre projet. Si vous utilisez Maven, ajoutez la dépendance suivante à votre pom.xml
:
<dependency>
<groupId>org.yaml</groupId>
<artifactId>snakeyaml</artifactId>
<version>1.30</version>
</dependency>
Lire du YAML
import org.yaml.snakeyaml.Yaml;
import java.io.InputStream;
import java.util.Map;
public class ReadYamlExample {
public static void main(String[] args) {
Yaml yaml = new Yaml();
try (InputStream inputStream = ReadYamlExample.class
.getClassLoader()
.getResourceAsStream("config.yml")) {
Map<String, Object> data = yaml.load(inputStream);
System.out.println(data);
} catch (Exception e) {
e.printStackTrace();
}
}
}
En supposant que config.yml
ressemble à ceci :
name: Example
version: 1.0
features:
- login
- signup
Le résultat sera :
{name=Example, version=1.0, features=[login, signup]}
Écrire du YAML
Pour générer un YAML à partir d’objets Java, utilisez la méthode dump
fournie par SnakeYAML :
import org.yaml.snakeyaml.Yaml;
import java.util.Arrays;
import java.util.LinkedHashMap;
import java.util.Map;
public class WriteYamlExample {
public static void main(String[] args) {
Map<String, Object> data = new LinkedHashMap<>();
data.put("name", "Example");
data.put("version", 1.0);
data.put("features", Arrays.asList("login", "signup"));
Yaml yaml = new Yaml();
String output = yaml.dump(data);
System.out.println(output);
}
}
Cela générera et affichera le contenu YAML suivant :
name: Example
version: 1.0
features:
- login
- signup
En tirant parti de SnakeYAML, les développeurs Java peuvent facilement intégrer l’analyse et la génération YAML dans leurs applications, bénéficiant de la lisibilité et de la simplicité de YAML à des fins de configuration et d’échange de données.