Java:
Arbeiten mit YAML

Wie geht das:

In Java können Sie mit YAML-Dateien arbeiten, indem Sie Drittanbieter-Bibliotheken verwenden, da die Java Standard Edition keine integrierte Unterstützung für YAML bietet. Eine beliebte Bibliothek ist SnakeYAML, die das Parsen und Generieren von YAML-Daten erleichtert.

SnakeYAML einrichten

Fügen Sie zunächst SnakeYAML Ihrem Projekt hinzu. Wenn Sie Maven verwenden, fügen Sie die folgende Abhängigkeit zu Ihrer pom.xml hinzu:

<dependency>
    <groupId>org.yaml</groupId>
    <artifactId>snakeyaml</artifactId>
    <version>1.30</version>
</dependency>

YAML lesen

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();
        }
    }
}

Angenommen, config.yml sieht so aus:

name: Beispiel
version: 1.0
features:
  - login
  - signup

Die Ausgabe wird sein:

{name=Beispiel, version=1.0, features=[login, signup]}

YAML schreiben

Um ein YAML aus Java-Objekten zu generieren, verwenden Sie die dump-Methode, die von SnakeYAML bereitgestellt wird:

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", "Beispiel");
        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);
    }
}

Dies wird den folgenden YAML-Inhalt generieren und ausgeben:

name: Beispiel
version: 1.0
features:
- login
- signup

Indem sie SnakeYAML nutzen, können Java-Entwickler das Parsen und Generieren von YAML leicht in ihre Anwendungen integrieren, wobei sie von der Lesbarkeit und Einfachheit von YAML für Konfigurations- und Datenaustauschzwecke profitieren.