Formattatore YAML

Formatta, valida e converti documenti YAML con evidenziazione della sintassi e rilevamento degli errori

Funziona in locale

Input YAML

Output Formattato

Ispettore

Incolla YAML valido — la struttura, l'albero e i percorsi delle chiavi compaiono qui automaticamente

Opzioni Avanzate

Confronta con un altro YAML

Invia questo documento a Data Diff e incolla una seconda versione per vedere cosa è cambiato.

Validazione con la posizione esatta dell'errore

La validazione viene eseguita a ogni battitura con il parser js-yaml 1.2. I documenti validi mostrano conteggi in tempo reale di documenti, mapping, sequenze, chiavi e profondità. Quelli non validi riportano riga e colonna esatte, una causa probabile e un'evidenziazione nella posizione dell'errore — non solo un generico "syntax error".

Errori YAML comuni che questo tool individua con precisione

Questi errori causano la maggior parte degli YAML non validi. Ognuno viene rilevato con una posizione e una causa probabile:

Indentazione errata

Una riga figlia indentata meno del padre, o righe allo stesso livello non allineate. Di solito riportato come "bad indentation of a mapping entry" alla riga esatta.

Carattere TAB

YAML vieta le tabulazioni nell'indentazione. Il parser riporta "found a tab character that violates indentation" ed evidenzia la riga incriminata.

Chiave duplicata

La stessa chiave due volte in uno stesso mapping. js-yaml riporta "duplicated mapping key" con la riga della seconda occorrenza.

Due punti o spazio mancante

Una chiave senza valore ("key key2") o due punti attaccati alla chiave ("key:value" è una stringa semplice, non una coppia). Riportato come "could not find expected ':'".

Prima / Dopo

Manifest Kubernetes minificato a sinistra, lo stesso documento formattato con indentazione di 2 spazi a destra. Struttura, albero e percorsi si aggiornano dal documento analizzato.

Before (flow style)
{apiVersion: apps/v1, kind: Deployment, metadata: {name: web-app}, spec: {replicas: 3, template: {metadata: {labels: {app: web}}}}}
After (block style)
apiVersion: apps/v1
kind: Deployment
metadata:
  name: web-app
spec:
  replicas: 3
  template:
    metadata:
      labels:
        app: web

Guida rapida a YAML (YAML 1.2)

  • L'indentazione è struttura: solo spazi — i caratteri TAB non sono mai ammessi per l'indentazione.
  • I due punti devono essere seguiti da uno spazio per essere un separatore chiave-valore: "key: value", non "key:value".
  • Gli scalari risolvono ai tipi secondo lo schema core: true/false (booleani), interi, float, null (~ / null / vuoto). Nota: "yes"/"no" sono stringhe semplici nella 1.2.
  • Più documenti in un unico file sono separati da una riga "---"; "..." termina un documento.
  • Ancore (&base) e alias (*base) mantengono i file DRY; le merge key ("<<: *base") ereditano i mapping.

Prossimi passi con questi dati

La formattazione è il primo passo. Continua il flusso di lavoro senza uscire dal browser:

Domande frequenti

Risposte alle domande comuni sulla formattazione Yaml Formatter

Il formatter segue la specifica YAML 1.2, garantendo la compatibilità con strumenti moderni come Kubernetes, Docker Compose, GitHub Actions e altre piattaforme cloud-native.

Sì, la funzione di conversione bidirezionale ti permette di convertire YAML in JSON e JSON in YAML preservando i tipi di dati, le strutture annidate e i commenti dove applicabili.

Assolutamente sì. Il formatter è progettato per gestire manifesti Kubernetes, file Docker Compose, pipeline CI/CD e altri file YAML multi-documento con una corretta separazione delle sezioni.

Il validator controlla la coerenza dell'indentazione, l'uso corretto di due punti e trattini, il bilanciamento delle stringhe tra virgolette e i riferimenti ad anchor e alias, e fornisce messaggi di errore con riferimento alla riga per un debug rapido.

Sì, il formatter gestisce correttamente gli anchor YAML (&), gli alias (*) e le merge keys (<<), preservando queste funzionalità DRY mentre formatta la struttura circostante.

YAML 1.2, la specifica attuale di yaml.org - la versione a cui puntano i documenti Kubernetes, docker-compose e GitHub Actions. YAML 1.2 ha reso JSON un sottoinsieme valido e ha reso più rigoroso il parsing dei booleani; il formatter mantiene le virgolette esplicite nei punti in cui i parser 1.1 (ancora comuni in Python PyYAML) potrebbero interpretare male valori come "no" o "0777".

Gli anchor, gli alias e i block scalars YAML mantengono i commenti invariati, ma un commento associato a una chiave che viene re-indentata si sposta insieme al suo livello di indentazione. Il formatter non elimina mai i commenti - li riposiziona in modo minimo per far sì che restino associati al nodo che documentano.

Lo segnala: i valori nudi NO, no, ON, on, yes, n vengono racchiusi tra virgolette automaticamente durante la formattazione, così i parser YAML 1.1 non possono convertirli in booleani. L'elenco di codici paese [NO, SE, DK] resta composto da tre stringhe. YAML 1.2 tratta come booleani solo true/false, ma le virgolette sono l'unica resa di output sicura sotto entrambe le versioni.

{-- * External Resources Component(#19 Phase 3b 内容佐证工程) * 工具页「权威引用」区块:RFC / W3C / WHATWG / ECMA / IANA / 官方规范站 / 官方语言文档 / Wikipedia。 * * - 接受 :slug 属性 → 经 config/tool-sources.php 家族矩阵渲染该工具的权威引用 * - slug 未命中映射时不渲染(无权威来源的工具静默跳过) * - 链接 title 保持英文(引用源专名);description 经 * common.resources.descriptions.{key} 本地化,lang 未命中回退英文(线上不裸奔) * - 链接保持 dofollow(rel="noopener noreferrer") * * @param string|null $slug --}}

Strumenti Correlati