UltKit

Convertitore da YAML a JSON

Trasforma configurazioni YAML, specifiche OpenAPI e file di CI in JSON leggibile da qualsiasi parser, API o validatore di schema. Carica file .yaml o .yml e scarica JSON indentato.

Convertitore di dati

oppure trascina qui File CSV, TSV, TXT … ·

Max 95 MB per file· Fino a 20 file· Eliminati dopo 30 minuti

Output

I file vengono elaborati sui nostri server ed eliminati dopo 30 minuti.

Come usare questo strumento

  1. 1

    Carica i file YAML

    Aggiungi file .yaml o .yml, fino a 20 alla volta e 95 MB ciascuno. I nomi originali restano invariati: i file JSON avranno lo stesso nome con una nuova estensione.

  2. 2

    Scegli formato indentato o compatto

    Formattazione leggibile è attiva: il JSON viene indentato per la lettura e la revisione del codice. Disattivala in Impostazioni avanzate per ottenere un file su una sola riga da incollare nel corpo di una richiesta.

  3. 3

    Converti e utilizza il risultato

    Premi Converti in JSON, scarica il file e passalo all'API, al validatore o allo script che lo richiedeva.

Perché gli sviluppatori convertono YAML in JSON

YAML è scritto per le persone: indentazione al posto delle parentesi graffe, commenti, nessuna virgoletta attorno alla maggior parte delle stringhe. Per questo è il formato dei manifest Kubernetes, dei workflow di GitHub Actions, dei file Docker Compose e delle specifiche OpenAPI che i team modificano a mano. JSON è scritto per i programmi. Ogni linguaggio ha un parser JSON nella libreria standard, i browser lo interpretano in modo nativo e la maggior parte delle API HTTP non accetta altro.

La conversione avviene quindi al confine tra i due mondi. Un platform engineer passa un manifest a jq, che legge solo JSON. Uno sviluppatore backend invia una specifica OpenAPI a un generatore di codice che richiede JSON. Un tester carica in una suite di test JavaScript dati di fixture scritti in YAML. In ogni caso il YAML resta la fonte di riferimento e il JSON è un artefatto di build. Per un'intera cartella di feed o esportazioni, invece di configurazioni, da XML a JSON gestisce allo stesso modo il formato di markup più datato.

Come YAML e JSON si sono evoluti insieme

Prima proposta di YAML da parte di Clark Evans
2001
YAML 1.2 ha reso JSON un sottoinsieme di YAML
2009
RFC 8259, lo standard JSON attuale
2017
Pubblicata la revisione YAML 1.2.2
2021

Cosa succede nel JSON alle funzioni esclusive di YAML

Un'ancora (&defaults) e i suoi alias (*defaults) permettono a YAML di riutilizzare un blocco. JSON non ha riferimenti, quindi ogni alias viene sostituito da una copia completa del blocco ancorato.

  • Il JSON può risultare molto più lungo del YAML
  • Anche le merge key (<<: *defaults) vengono espanse allo stesso modo
Una piccola configurazione YAML come JSON formattato
{
  "service": "billing",
  "replicas": 3,
  "ports": [8080, 9090],
  "env": {
    "LOG_LEVEL": "info",
    "REGION": "NO"
  }
}

Caratteristiche dei formati YAML e JSON

YAML

YAML

YAML ("YAML Ain't Markup Language") è un formato di dati leggibile dalle persone, rilasciato per la prima volta nel 2001. Usa l'indentazione al posto delle parentesi, supporta i commenti ed è un sovrainsieme di JSON. È molto usato per la configurazione in Docker Compose, Kubernetes, GitHub Actions e in molte applicazioni. Poiché si basa sugli spazi, basta uno spazio fuori posto per comprometterlo, e alcuni valori, come "no" o le date, possono essere interpretati in modo inatteso.

Compressione
–
Trasparenza
–
Animazione
–
Introdotto
2001 · Clark Evans, Ingy döt Net, Oren Ben-Kiki
Convertitore YAML

JSON

JavaScript Object Notation

JSON è un formato di testo leggero per dati strutturati, reso popolare da Douglas Crockford all'inizio degli anni 2000 e standardizzato come RFC 8259 ed ECMA-404. Rappresenta oggetti, array, stringhe, numeri, booleani e null con una sintassi semplice e leggibile. È il formato predefinito per le API web, i file di configurazione e lo scambio di dati tra app in quasi tutti i linguaggi di programmazione. Non prevede commenti, date o schemi integrati e i file annidati di grandi dimensioni sono difficili da leggere senza un visualizzatore.

Compressione
–
Trasparenza
–
Animazione
–
Introdotto
2001 · Douglas Crockford
Convertitore JSON

Si converte YAML in JSON quando una configurazione o una specifica scritta per le persone deve alimentare una macchina: una richiesta API, un validatore di schemi o uno strumento senza parser YAML.

Domande frequenti sulla conversione da YAML a JSON

Perché convertire YAML in JSON se contengono gli stessi dati?

Perché molti strumenti leggono solo uno dei due formati. Un parser JSON è incluso in ogni linguaggio di programmazione e in ogni browser, mentre per YAML serve una libreria aggiuntiva. I corpi delle richieste delle API REST, i validatori JSON Schema, jq e file come package.json o il manifest.json di un'estensione del browser si aspettano tutti JSON.

Che fine fanno i commenti del file YAML?

Vengono eliminati. RFC 8259 non prevede alcuna sintassi per i commenti in JSON, quindi le righe che iniziano con # non hanno dove andare. Conserva il file YAML come sorgente documentato e considera il JSON una copia generata, che puoi rigenerare in qualsiasi momento.

Perché NO oppure off sono diventati false?

I parser conformi a YAML 1.1 leggono yes, no, on e off come valori booleani, quindi un codice paese come NO per la Norvegia può diventare false. YAML 1.2 limita i booleani a true e false, ma non tutti gli strumenti lo seguono. Metti tra virgolette questi valori nel YAML, come in "NO", e nel JSON resteranno stringhe.

Si può convertire un template CloudFormation scritto in YAML?

AWS CloudFormation accetta entrambi i formati, ma i tag abbreviati come !Ref e !GetAtt esistono solo in YAML. I template JSON li scrivono come funzioni complete, {"Ref": "MyBucket"} o {"Fn::GetAtt": [...]}. Riscrivi i tag abbreviati nella forma estesa prima della conversione, così il template JSON resta valido.

Come si fa la conversione inversa?

Usa da JSON a YAML. È la direzione più comune quando la risposta di un'API o un file generato deve diventare un file di configurazione leggibile in un repository.