Geekflare wird von unserem Publikum unterstützt. Es kann sein, dass wir durch den Kauf von Links auf dieser Seite Affiliate-Provisionen verdienen.
Unter Entwicklung Zuletzt aktualisiert: September 24, 2023
Weitergeben:
Invicti Web Application Security Scanner - die einzige Lösung, die eine automatische Überprüfung von Schwachstellen mit Proof-Based Scanning™ ermöglicht.

Wenn Sie ein Entwickler sind, der APIs schreibt, sind Sie wahrscheinlich schon mit YAML in Berührung gekommen, auch wenn Ihr primäres Serialisierungstool vielleicht JSON ist

YAML hat eine eigene, benutzerfreundliche Syntax und ist eine praktische Sprache, die Sie zu Ihrem Entwicklungsarsenal hinzufügen können

Lassen Sie uns die Grundlagen von YAML kennenlernen

Serialisierung von Daten

Wenn Sie eine Datenstruktur oder ein Objekt über Computernetzwerke, z.B. das Internet, versenden möchten, müssen Sie es in ein spezielles Format umwandeln, um es lesen und speichern zu können. Dieser Vorgang wird allgemein als Serialisierung bezeichnet und ist im Internet von enormer Bedeutung. Ein gängiges Anwendungsbeispiel für die Serialisierung ist das Lesen von Daten aus Datenbanken und deren Übertragung über das Internet.

Zu den Serialisierungsformaten gehören JSON, YAML und XML

In diesem Artikel sprechen wir über YAML. Am Ende des Artikels werden Sie in der Lage sein, sich durch YAML zu arbeiten und eine klare Einführung in YAML zu erhalten.

Was ist YAML und welchen Nutzen hat es für mich?

YAML ist ein Format zur Serialisierung von Daten, das für YAML ist keine Markup-Sprache steht

Der Hauptvorteil der Verwendung von YAML ist die Lesbarkeit und Beschreibbarkeit. Wenn Sie eine Konfigurationsdatei haben, die für Menschen leichter zu lesen sein soll, ist es besser, YAML zu verwenden. YAML ist kein vollständiger Ersatz für JSON, denn auch JSON und XML haben ihre Berechtigung; dennoch ist es nützlich, YAML zu lernen

Ein weiterer Vorteil von YAML ist die Unterstützung verschiedener Datentypen wie Cases, Arrays, Dictionaries, Listen und Skalare. Es bietet gute Unterstützung für die gängigsten Sprachen wie JavaScript, Python, Ruby, Java usw.

YAML unterstützt nur Leerzeichen und unterscheidet sowohl zwischen Groß- und Kleinschreibung als auch zwischen Leerzeichen. Tabulatoren werden nicht durchgängig akzeptiert. Eine YAML-Datei hat die Erweiterung .yaml

Grundlegende YAML-Syntax

Jede YAML-Datei beginnt mit ---, was den Anfang einer YAML-Datei kennzeichnet

Wenn wir eine API erstellensind wir an einer Funktion von YAML interessiert, die als Mapping bezeichnet wird

Die folgenden Beispiele zeigen ein Beispiel für das Mapping in YAML

--
Name: James
Junge: ja

GPA

: 3.41

Die Mapping-Syntax lautet Schlüssel: Wert. (Beachten Sie das Leerzeichen, es ist in YAML sehr wichtig, im Gegensatz zu JSON oder XML

YAML unterstützt auch Datentypen wie Zeichen, Strings, Ganzzahlen, Fließkommazahlen und Sammlungen wie Arrays und Listen, die aus Basisdatentypen aufgebaut sind

Datentypen in YAML

Wir sehen uns das folgende Beispiel einer YAML an

---

MALE: FALSE

GPA: 3.61

ISSUES: NULL

NAME: "BIGYAN"

AGE: 16

Der erste Datentyp ist ein Boolean, der zwei Werte annehmen kann: true oder false. Der Wert von GPA ist eine Fließkommazahl. YAML unterstützt auch den Datentyp null, wie wir ihn für "Themen" haben. Der Wert von "Name" ist eine Zeichenkette, die in doppelte oder einfache Anführungszeichen gesetzt werden muss. YAML unterstützt auch mehrzeilige Strings und mehrzeilige Strings als einen einzigen, um die Lesbarkeit zu verbessern

Mehrzeilige und einzeilige Strings

--

Über: >

 Hallo, ich bin Ryan

 aus Alabama und ich spiele gerne

 Fußball

Mit dem Symbol <i>></i> können Sie eine einzeilige Zeichenfolge in mehrere Zeilen schreiben. Der Satz ist eigentlich eine einzeilige Beschreibung, obwohl wir mehrere Zeilen haben

Wir können auch mehrzeilige Zeichenfolgen haben, wenn wir das Symbol | wie erlaubt verwenden

Über: |

 Dies ist eine mehrzeilige Zeichenfolge

 und wird zeilenweise gedruckt

Liste

Listen sind in YAML sehr wichtig

Ein Beispiel für eine Liste finden Sie unten

--

 Apfel

 Banane

 Mango

Das Mapping von Skalaren auf Listen wird unten gezeigt, was für die meisten Konfigurationsdateien sehr wichtig ist

--

Früchte

:

 Äpfel

 Banane

 Guave 

Die Verschachtelung ist für die Zuordnung von Skalar zu Liste erforderlich. Wir können auch mehrere verschachtelte Listen haben, wie im folgenden Beispiel gezeigt

Automobile:

 Auto:

 Hyundai

 Volkswagen

 Ford

Hier sind Autos in Autos verschachtelt, und Hyundai ist in Autos verschachtelt. Dies ist ein Beispiel für eine Mehrfachverschachtelung. Wir können so viele Mehrfachverschachtelungen vornehmen, wie wir wollen

Fächer:

 Ingenieurwesen:

 Maschinenbau:

 Konstruktion und Herstellung

 Automobil

 Steuerung und Konstruktion

 Bauwesen:

 Hochbau

 Wasserkraft

 Kunst:

 Mittelalter

 Moderne

 Malerei

YAML bietet außerdem die Symbole & und * als Anker und Verweise auf den Anker, um Doppelungen zu vermeiden. Sie sind in Konfigurationsdateien in Frameworks wie Ruby on Rails unerlässlich, um die YAML-Datei kleiner zu machen

Siehe das folgende Beispiel

<span class="hljs-attr">Einzelheiten:</span> <span class="hljs-meta">&amp;Details</span>
 <span class="hljs-attr">Name:</span> <span class="hljs-string">"John"</span>
Alter: 18
beruf: Ingenieur

<< :

*

details

was gleichbedeutend ist mit

beruf: Ingenieur

Name: "John"

Alter: 18

YAML in Python

Python unterstützt YAML, einschließlich einiger Module wie ruamel und pyyaml. Beginnen Sie mit der Installation von pyyaml

pip install pyyaml

Für das Tutorial erstellen Sie eine Datei mit dem Namen details.yaml

name: "john"

alter:18

geschlecht: männlich

Erstellen Sie eine weitere Datei mit dem Namen feed.yaml mit dem folgenden Inhalt

sport:

 Fußball
 Basketball
 Kricket
 Baseball

---
Länder:
 Brasilien
 Litauen
 Australien
 USA

Beginnen wir mit dem Lesen der Datei details.yaml

import yaml

with open('details.yaml') as f:
    
 data = yaml.load(f, Loader=yaml.FullLoader)
 print(data)

Nachdem wir die Datei details.py ausgeführt haben, erhalten wir die folgende Ausgabe

 $ python details.py
{'Name': "john", 'Alter': 18, 'Geschlecht': männlich}
import yaml

with open(r'feed.yaml') as file:
 # Der FullLoader-Parameter sorgt für die Umwandlung von YAML
 # skalaren Werten in das Python-Wörterbuchformat
 fruits_list = yaml.load(file, Loader=yaml.FullLoader)

 print(fruits_list)

Schreiben von YAML in Dateien in Python

import yaml

dict_file = [{'sports' : ['hockey', 'rugby', 'tennis', 'ping pong', 'football', 'badminton']},
{'countries' : ['Jamaica', 'England', 'Nepal', 'Netherlands', 'South Africa', 'Bolivia', 'Portugal']}]

with open(r'E:\data.yaml', 'w') as file: #Erstellen einer neuen YAML-Datei
 data = yaml.dump(dict_file, file)

YAML-Implementierung in Node.js

Node.js ist eine serverseitige Verarbeitungssprache, und die Serialisierung von Daten ist für den Entwicklungsprozess von enormer Bedeutung

Betrachten wir für unser Tutorial die folgende Datei example.yaml

name:John

Alter:18

Hobbys:

 Hobby1:Fußball

 Hobby2:Basketball

 Hobby3:Hockey

Beruf:

-Systemadministrator

-Programmierer
Wir haben eine npm-Bibliothek für Node.js namens js-yaml. Lassen Sie uns mit der Installation des Moduls beginnen

npm install js-yaml

Anschließend verwenden wir das js-yaml-Modul in unserer Datei

const yaml = require('js-yaml'); //initialize js-yaml
const fs = require('fs'); //initialize filestream

try {
 const result = yaml.load(fs.readFileSync('beispiel.yml', 'utf8'));
 console.log(result);
} catch (e) {
 console.log(e); //catch exception

}


Schlussfolgerung

Unter moderne Programmier-Frameworks und Anwendungen, in denen Daten gespeichert oder verteilt werden, wird YAML immer häufiger in Konfigurationsdateien verwendet. YAML zielt auf viele der gleichen Kommunikationsanwendungen ab wie Extensible Markup Language (XML), hat aber eine minimale Syntax, die sich bewusst von XML unterscheidet

YAML-Dateien können für feste Datenstrukturen mit Hilfe von Druckbefehlen erstellt werden, die sowohl die Daten als auch die besondere Ausgestaltung von YAML schreiben. Für die Ausgabe verschiedener oder komplexer, hierarchischer Daten ist jedoch ein spezieller YAML-Emitter vorzuziehen. Ebenso lassen sich mit regulären Ausdrücken einfache YAML-Dateien (z.B. Schlüssel-Wert-Paare) leicht parsen.

  • Bigyan Ghimire
    Autor
Dank an unsere Sponsoren
Weitere gute Lektüre zum Thema Entwicklung
Energie für Ihr Unternehmen
Einige der Tools und Dienste, die Ihr Unternehmen beim Wachstum unterstützen.
  • Invicti nutzt das Proof-Based Scanning™, um die identifizierten Schwachstellen automatisch zu überprüfen und innerhalb weniger Stunden verwertbare Ergebnisse zu erzielen.
    Versuchen Sie Invicti
  • Web Scraping, Residential Proxy, Proxy Manager, Web Unlocker, Search Engine Crawler und alles, was Sie zum Sammeln von Webdaten benötigen.
    Versuchen Sie Brightdata
  • Monday.com ist ein All-in-One-Betriebssystem, mit dem Sie Projekte, Aufgaben, Arbeit, Vertrieb, CRM, Arbeitsabläufe und vieles mehr verwalten können.
    Versuch Montag
  • Intruder ist ein Online-Schwachstellen-Scanner, der Schwachstellen in Ihrer Infrastruktur aufspürt, um kostspielige Datenschutzverletzungen zu vermeiden.
    Versuchen Sie Intruder