• Erledigen Sie die Anwendungssicherheit auf die richtige Weise! Erkennen, schützen, überwachen, beschleunigen und mehr…
  • Wenn Sie ein Entwickler sind, der APIs schreibt, sind Sie wahrscheinlich auf YAML gestoßen, obwohl Ihr primäres Serialisierungstool möglicherweise JSON ist.

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

    Lassen Sie uns die Grundlagen von YAML lernen.

    Datenserialisierung

    Wenn Sie eine Datenstruktur oder ein Objekt über Computernetzwerke, beispielsweise das Internet, senden möchten, müssen Sie es in ein spezielles Format umwandeln, um es zu lesen und zu speichern. Der Prozess ist allgemein als Serialisierung bekannt und im Web von enormer Bedeutung. Ein häufiges Anwendungsbeispiel für die Serialisierung ist das Lesen und Übertragen von Daten aus Datenbanken über das Web.

    Einige Serialisierungsformationen umfassen JSON, YAML, XML.

    In diesem Artikel sprechen wir über YAML. Am Ende des Artikels können Sie sich durch YAML arbeiten und eine klare Einführung in YAML erhalten.

    Was ist YAML und wie kommt es mir zugute?

    YAML ist ein Datenserialisierungsformat, für das steht YAML ist keine Markup-Sprache.

    Der Hauptvorteil der Verwendung von YAML ist die Lesbarkeit und Schreibbarkeit. Wenn Sie eine Konfigurationsdatei haben, die für Menschen leichter lesbar sein muss, ist es besser, YAML zu verwenden. YAML ist keine vollständige Substitution von JSON, da JSON und XML auch ihre Plätze haben. Trotzdem ist es nützlich, YAML zu lernen.

    Ein weiterer Vorteil von YAML ist die Unterstützung verschiedener Datentypen wie Fälle, Arrays, Wörterbücher, Listen und Skalare. Es hat eine gute Unterstützung für die beliebtesten Sprachen wie JavaScript, Python, Ruby, Java usw.

    YAML unterstützt nur Leerzeichen und unterscheidet sowohl zwischen Groß- und Kleinschreibung als auch zwischen Leerzeichen. Tabs werden nicht allgemein akzeptiert. Eine YAML-Datei hat .yaml Verlängerung.

    Grundlegende YAML-Syntax

    Jede YAML beginnt mit --- Dies bezeichnet den Start einer YAML-Datei.

    Wann Erstellen einer APIWir sind an einer von YAML bereitgestellten Funktion interessiert, die als Mapping bezeichnet wird.

    Die folgenden Beispiele zeigen das Beispiel der Zuordnung in YAML.

    ---
    name: James
    boy: yes
    GPA: 3.41

    Die Zuordnungssyntax lautet key: value. (Beachten Sie den Platz, der in YAML im Gegensatz zu JSON oder XML sehr wichtig ist.

    YAML unterstützt auch Datentypen wie Zeichen, Zeichenfolgen, Ganzzahlen, schwebende Werte und Sammlungen wie Arrays, Listen, die aus grundlegenden Datentypen erstellt werden.

    Datentypen in YAML

    Sehen wir uns das folgende Beispiel einer YAML an:

    ---
    
    MALE: FALSE
    
    GPA: 3.61
    
    ISSUES: NULL
    
    NAME: “BIGYAN”
    
    AGE: 16

    Der erste Datentyp ist ein Boolescher Wert, der zwei Werte haben kann: true oder false. Der Wert von GPA ist Gleitkomma. YAML unterstützt auch den Nulldatentyp, wie wir ihn für “Probleme". Der Wert von "Name”Ist eine Zeichenfolge, die in doppelte oder einfache Anführungszeichen gesetzt werden muss. YAML unterstützt aus Gründen der Lesbarkeit auch mehrzeilige Zeichenfolgen und mehrzeilige Zeichenfolgen als einzelne Zeichenfolgen.

    Mehrzeilige und einzeilige Zeichenfolgen

    ---
    
    About: >
    
     Hello this is Ryan
    
     From Alabama and I like to
    
     Play soccer.

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

    Wir können auch mehrere Zeilenfolgen haben, wenn wir die verwenden | Symbol wie erlaubt:

    About: |
    
     This is a multiline string
    
     And will be printed line wise.

    Liste

    Listen sind in YAML sehr wichtig.

    Ein Beispiel für die Liste ist unten angegeben.

    ---
    
    - apple
    
    - banana
    
    - mango

    Die Zuordnung von Skalar zu Listen wird unten gezeigt, was für die meisten Konfigurationsdateien sehr wichtig ist.

    ---
    
    Fruits:
    
     Apples
    
     Banana
    
     Guava 

    Für die Zuordnung des Skalars zur Liste ist eine Verschachtelung erforderlich. Wir können auch mehrere verschachtelte Listen haben, wie im folgenden Beispiel gezeigt.

    Automobiles:
    
     Car:
    
         Hyundai
    
         Volkswagen
    
         Ford

    Hier sind Autos in Autos verschachtelt, und Hyundai ist in Autos verschachtelt. Dies ist ein Beispiel für die mehrfache Verschachtelung. Wir können so oft verschachteln, wie wir wollen.

    Subjects:
    
         Engineering:
    
           Mechanical engineering:
    
             Design and manufacture
    
             Automobile
    
             Control and Design
    
           Civil engineering:
    
             Structural engineering
    
             Hydropower
    
           Arts:
    
             Medieval
    
             Modern
    
             Painting

    YAML bietet auch & und * Symbole als Anker und Verweise auf den Anker, um Doppelarbeit zu vermeiden. Sie sind in Konfigurationsdateien in Frameworks wie Ruby on Rails unerlässlich, um die YAML-Datei zu verkleinern.

    Siehe das folgende Beispiel

    <span class="hljs-attr">details:</span> <span class="hljs-meta">&details</span>
        <span class="hljs-attr">name:</span> <span class="hljs-string">"John"
    </span>    age: 18
    profession: engineer
    
    << : * details

    was äquivalent ist zu:

    profession: engineer
    
    name: "John"
    
    age: 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

    Erstellen Sie für das Lernprogramm eine Datei mit einem Namen details.yaml

    name: "john"
    
    age:18
    
    gender: male

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

    sports:
    
     football
     basketball
     cricket
     baseball
    
    ---
    countries:
     Brazil
     Lithuania
     Australia
     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)

    Nach dem Ausführen der Datei details.py erhalten wir die folgende Ausgabe

     $ python details.py
    {'name': "john", 'age': 18, 'gender': male}
    import yaml
    
    with open(r'feed.yaml') as file:
        # The FullLoader parameter handles the conversion from YAML
        # scalar values to Python the dictionary format
        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: #create a new yaml file 
        data = yaml.dump(dict_file, file)
    

    YAML-Implementierung in Node.js.

    node.js ist eine serverseitige Verarbeitungssprache, und die Serialisierung von Daten ist im Entwicklungsprozess von enormer Bedeutung.

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

    name:John
    
    age:18
    
    Hobbies:
    
     Hobby1:Football
    
     Hobby2:BasketBall
    
     Hobby3:Hockey
    
    Job:
    
    -System administrator
    
    -Programmer

    Wir haben eine npm-Bibliothek für Node.js namens js-yaml. Beginnen wir mit der Installation des Moduls durch

    npm install js-yaml

    Wir benutzen dann die 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('example.yml', 'utf8'));
      console.log(result);
    } catch (e) {
      console.log(e); //catch exception
    }
    

    Fazit

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

    YAML-Dateien können für feste Datenstrukturen mithilfe von Druckbefehlen erstellt werden, die sowohl die Daten als auch die spezielle Dekoration der YAML schreiben. Ein dedizierter YAML-Emitter ist jedoch vorzuziehen, um verschiedene oder komplexe hierarchische Daten zu sichern. In ähnlicher Weise können mit regulären Ausdrücken grundlegende YAML-Dateien (z. B. Schlüssel-Wert-Paare) leicht analysiert werden.