Java:
Praca z YAML
Jak to zrobić:
W Javie można pracować z plikami YAML za pomocą bibliotek firm trzecich, ponieważ Java Standard Edition nie zawiera wbudowanego wsparcia dla YAML. Jedną z popularnych bibliotek jest SnakeYAML, która umożliwia łatwe parsowanie i generowanie danych YAML.
Konfiguracja SnakeYAML
Po pierwsze, dołącz SnakeYAML do swojego projektu. Jeśli używasz Mavena, dodaj następującą zależność do swojego pliku pom.xml
:
<dependency>
<groupId>org.yaml</groupId>
<artifactId>snakeyaml</artifactId>
<version>1.30</version>
</dependency>
Odczytywanie 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();
}
}
}
Zakładając, że config.yml
wygląda tak:
name: Example
version: 1.0
features:
- login
- signup
Wynik będzie:
{name=Example, version=1.0, features=[login, signup]}
Zapisywanie YAML
Aby wygenerować YAML z obiektów Java, użyj metody dump
dostarczonej przez 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);
}
}
Wygeneruje to i wydrukuje następującą zawartość YAML:
name: Example
version: 1.0
features:
- login
- signup
Korzystając z SnakeYAML, programiści Java mogą łatwo zintegrować analizę i generowanie YAML do swoich aplikacji, korzystając z czytelności i prostoty YAML do celów konfiguracyjnych i wymiany danych.