Java:
Werken met YAML

Hoe te:

Om YAML in Java te gebruiken, laten we snakeyaml gebruiken, een populaire bibliotheek.

Voeg eerst de afhankelijkheid toe aan je pom.xml:

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

Nu, een YAML-bestand lezen:

import org.yaml.snakeyaml.Yaml;
import java.io.InputStream;
import java.util.Map;

public class YamlReader {
    public static void main(String[] args) {
        Yaml yaml = new Yaml();
        try (InputStream in = YamlReader.class
            .getClassLoader()
            .getResourceAsStream("config.yaml")) {
            
            Map<String, Object> data = yaml.load(in);
            System.out.println(data);
            
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

Stel dat config.yaml er zo uitziet:

version: '1.0'
services:
  webapp:
    build: .
    ports:
      - "5000:5000"

De uitvoer zal een Map-representatie van uw YAML zijn:

{version=1.0, services={webapp={build=., ports=[5000:5000]}}}

Nu, laten we YAML schrijven:

import org.yaml.snakeyaml.Yaml;
import java.io.FileWriter;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

public class YamlWriter {
    public static void main(String[] args) {
        Yaml yaml = new Yaml();
        Map<String, Object> data = new HashMap<>();
        
        data.put("name", "myapp");
        data.put("version", "2.0");
        
        try (FileWriter writer = new FileWriter("output.yaml")) {
            yaml.dump(data, writer);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

Controleer output.yaml om de nieuwe YAML-inhoud te zien:

name: myapp
version: '2.0'

Dieper duiken

YAML kwam begin jaren 2000 op de markt als een alternatief voor XML voor eenvoudigere gegevensstructurering. Terwijl de opkomst van JSON het voor API-communicatie overschaduwde, blijft YAML’s gebruiksvriendelijkheid populair voor configuraties. Dezelfde gegevens, maar JSON en TOML zijn alternatieven voor YAML, afhankelijk van gebruikssituaties. Een YAML waarschuwing: tabbladen zijn niet toegestaan voor inspringing; alleen spaties.

Zie ook

Verken verder met deze bronnen: