Wie analysiere ich eine YAML -Datei in Java?

Wie analysiere ich eine YAML -Datei in Java?
Das Akronym YAML, das sich auf YAML bezieht. Yamls Hauptimpul. Wir können schnell die Eigenschaften, ihre Werte und gegebenenfalls alle Beziehungen zwischen den Eigenschaften verstehen. Da YAML ein textbasiertes strukturiertes Format ist, können Sie es auch mit JSON oder XML vergleichen.

Im Gegensatz zu JSON und XML soll YAML von Menschen und weniger ausführlich mehr lesbar sein. Im Gegensatz zu seinen Rivalen JSON, das Klammern verwendet, und XML, das benutzerdefinierte Tags verwendet. Normalerweise werden YAML -Dateien verwendet, um Anwendungen zu konfigurieren, die Server für Anwendungshosting oder Cluster für Anwendungsserver und nicht für Serialisierung oder Deserialisierung benötigen. Die Leute sind nicht besonders großartige Fans von Yaml, obwohl es viele Anwendungen hat und für Menschen einfach genug ist, um zu lesen.

Die YAML -Sprache wird in der Einklingung verwendet, um Struktur und Nist zu repräsentieren. Wenn komplexe Daten analysiert werden müssen, entsteht die Einrückung Probleme. Beim Vergleich von YAML können Fehler aufgrund eines fehlenden oder zusätzlichen Weißraums in komplexen Strukturen auftreten. Es ist schwierig, diese unerwarteten Probleme in der YAML -Datei zu finden. Da YAML -Dokumente inzwischen so weit verbreitet sind, treffen wir in Situationen, in denen wir Daten in YAML -Dokumenten verwendeten. Es werden zahlreiche Open-Source-Bibliotheken bereitgestellt, um YAML-Dateien in Java zu manipulieren. Sowohl beliebte Bibliotheken, Jackson und Snakeyaml, können verwendet werden, um dies zu erreichen. Das Hauptthema dieses Artikels ist, wie Sie YAML -Dateien mithilfe von Snakeyaml in Java analysieren können.

Wie man das YAML -Modul in der Java -Sprache in Ubuntu 20 bekommt.04

YAML -Dateien können mit der Snakeyaml -Bibliothek in einer Java -Anwendung analysiert werden. Es handelt sich um eine einfache, leichte Bibliothek, die eine hochrangige Serialisierung und Deserialisierungs-APIs für YAML-Dateien bietet. Verwenden Sie, um mehrere Dokumente gleichzeitig gleichzeitig zu speichern. Die Funktion verwendet InputStream, einen beliebten Standard für die Interaktion mit Dateien und String -Objekten, die ausreichende YAML -Daten enthalten.

Wenn Sie eine Spring -Boot -Anwendung verwenden, muss die neueste Version von Maven -Abhängigkeiten hinzugefügt werden, bevor Snakeyaml in einem Projekt im POM verwendet wird.XML -Datei, wie im Folgenden dargestellt:

Beispiel 1: Lesen Sie die YAML -Datei in der Java -Sprache

Lassen Sie uns das folgende Dokument der YAML -Datei in Java lesen. Dieses YAML -Dokument ist im Mitarbeiter gespeichert.YAML -Datei.

Wir werden jetzt das vorherige YAML -Dokument (Mitarbeiter (Mitarbeiter) analysieren.yaml) Verwenden der YAML -Klasse. Dieser YAML befindet sich im Ressourcenordner unseres Java -Projekts. Lassen Sie uns zunächst die Datei in einen Inputstream laden. Danach werden wir das YAML -Objekt erstellen, das als Ausgangspunkt für die Verwendung der Bibliothek dient. Wir können alle gültigen YAML -Daten von einem InputStream, Leser oder einer String lesen und analysieren, wenn wir die YAML -Instanz mithilfe von Methoden wie Load () verwenden.

Das Modul implementiert eine Java -Karte, auf der die Schlüssel und Werte für jede Eigenschaft durch ihre Namen dargestellt werden. Da unsere Daten in YAML -Dateien als Zeichenfolgewerte, Zahlen oder sogar Sammlungen gespeichert sind, ist es wichtig zu beachten. Diese können in ein Objekt passen, das jeden Wert enthält, den wir hinzufügen können.

Das folgende Ergebnis wird erzielt, wenn wir unser Datenobjekt anzeigen, bei dem die YAML -Datei geladen wurde:

Beispiel 2: Lesen Sie das verschachtelte Dokument aus der YAML -Datei in der Java -Sprache

Wie Sie sehen können, ordnet ein Java-Kartenobjekt die Eigenschaften einfach aus der YAML-Datei als Schlüsselwertpaare in unserem vorherigen Beispielcode ab. Ändern wir unsere YAML -Datei so, dass sie auch Sammlungsdaten enthält. Die aktualisierte YAML -Datei wird wie folgt angezeigt:

Eine Sammlung von Feld „Kursen“ mit mehreren Datenwerten ist jetzt in unserer YAML -Datei enthalten. Weder unser Java -Code noch die geänderte YAML -Datei müssen aktualisiert werden. Die YAML -Datei kann mit dem vorherigen Code ohne Probleme in unser Kartenobjekt geladen werden. Wir müssen nur den Namen YAML -Dateinamen in der DateiInputStream -Methode aktualisieren.

Das Ergebnis des Lesens der Datei wird im Bild angezeigt. Jeder Wert in der Liste der Werte für die Spalte „Kurse“ in der YAML -Datei ist ein Kartenobjekt.

Beispiel 3: Lesen Sie das YAML -Objekt als Java -benutzerdefiniertes Objekt

Jetzt haben wir die YAML-Datei in unserem Java-Code erfolgreich als einfache Schlüsselwertepaare verwendet. Importieren wir den Schüler erneut.YAML-Datei als benutzerdefiniertes Java-Objekt, ein typischerer Anwendungsfall. Um Daten aus unseren YAML -Dateien zu importieren, werden wir die folgenden Java -Klassen verwenden: Die erste Klasse ist eine Personklasse, in der die Attribute ID, Name und Adresse sind. Die Getter Setter -Methode ist auch für jedes Attribut definiert. Ihre Daten werden durch Getter und Setter geschützt, insbesondere beim Erstellen von Klassen.

Von der Klassenperson haben wir die Schülerklasse erweitert und ihre Attribute definiert. Die Attribute werden aktualisiert und der Wert einer Variablen wird über die Getter- und Setter -Methode erhalten.

Wie in den beiden vorherigen Klassen wird auch die Kursklasse mit ihren Attributen konstruiert.

Die Daten werden in ein Objekt namens Student geladen, und das Element der YAML -Datei wird in eine Liste von Feldkursen umgewandelt. Die im vorherige Beispiel verwendete YAML -Datei wird erneut verwendet und als Inputstream geladen.

Jetzt geben wir den Datentyp an, den wir die Daten angeben möchten, wenn wir unser YAML -Klassenobjekt erstellen. Snakeyaml wird angewiesen, die Daten aus der YAML -Datei zu lesen und sie vom neuen Konstruktor (Student "unserem Schülerobjekt zuzuordnen.Klasse).

Die Zuordnung ist einfach, und die Namen der Objektattribute müssen mit den YAML -Namen der Attribute übereinstimmen (Kurse -> Kurse). Infolgedessen erhalten Sie die folgende Ausgabe:

Abschluss

In diesem Artikel wird hauptsächlich die Java-Implementierung von Snakeyaml-basierter YAML-Parsing und Serialisierung vorgestellt. Mit Snakeyaml können YAML -Dateien in Java -Projekten bearbeitet werden und benötigt wenig Code, um YAML -Dateien in Projekte zu importieren. Snakeyaml bietet Formatierungsoptionen an, mit denen Sie sie anpassen und an Ihre Anforderungen entsprechen können. Diese Seite beschreibt den Beispielcode und bietet jedem eine wertvolle Lernressource.