YAML - Introduzione

YAML Ain't Markup Language è un linguaggio di serializzazione dei dati che soddisfa le aspettative dell'utente sui dati. È progettato per essere umano e funziona perfettamente con altri linguaggi di programmazione. È utile per gestire i dati e include caratteri stampabili Unicode. Questo capitolo ti darà un'introduzione a YAML e ti darà un'idea delle sue caratteristiche.

Formato

Considera il testo mostrato di seguito -

Quick brown fox jumped over the lazy dog.

Il testo YAML per questo sarà rappresentato come mostrato di seguito -

yaml.load(Quick brown fox jumped over the lazy dog.)
>>'Quick brown fox jumped over the lazy dog.'

Nota che YAML prende il valore in formato stringa e rappresenta l'output come menzionato sopra.

Esempi

Cerchiamo di capire i formati in YAML con l'aiuto dei seguenti esempi:

Considera il seguente numero di punto di "pi", che ha un valore di 3,1415926. In YAML, è rappresentato come un numero mobile come mostrato di seguito -

>>> yaml.load('3.1415926536')
3.1415926536

Supponiamo di dover caricare più valori in una struttura dati specifica come indicato di seguito:

eggs
ham
spam
French basil salmon terrine

Quando lo carichi in YAML, i valori vengono presi in una struttura dati ad array che è una forma di lista. L'output è come mostrato di seguito:

>>> yaml.load('''
   - eggs
   - ham
   - spam
   - French basil salmon terrine
   ''')
['eggs', 'ham', 'spam', 'French basil salmon terrine']

Caratteristiche

YAML include un linguaggio di markup con costrutti importanti, per distinguere il linguaggio orientato ai dati con il markup del documento. Gli obiettivi di progettazione e le caratteristiche di YAML sono riportati di seguito:

  • Corrisponde alle strutture di dati native della metodologia agile e dei suoi linguaggi come Perl, Python, PHP, Ruby e JavaScript

  • I dati YAML sono trasferibili tra i linguaggi di programmazione

  • Include un modello di dati coerente con i dati

  • Facilmente leggibile dagli esseri umani

  • Supporta l'elaborazione unidirezionale

  • Facilità di implementazione e utilizzo