Vai al contenuto
100% locale

Espansore di ancore YAML

Sostituisci gli ancore, alias e chiavi di merge YAML con il contenuto completo a cui puntano.

Ingresso
Uscita

Espansore di ancore YAML

Incolla un documento YAML che utilizza ancore (&name), alias (*name) o chiavi di merge (<<:) e questo strumento sostituisce ogni riferimento con il contenuto completo a cui punta. Il risultato è YAML semplice e autonomo senza ancore, alias o chiavi di merge — utile quando è necessario consegnare un file di configurazione a uno strumento che non comprende la sintassi di riutilizzo YAML, o quando semplicemente vuoi vedere come si espande un file fortemente ancorato.

Le chiavi di merge vengono risolte con la stessa precedenza che YAML utilizza: una chiave scritta esplicitamente in un mapping vince sempre su una estratta tramite un merge, e quando un mapping esegue il merge di più di una fonte (<<: [*a, *b]), la fonte precedente vince in caso di collisione. I merge concatenati — un mapping che esegue il merge di un altro mapping che a sua volta esegue il merge di un terzo — vengono seguiti fino in fondo. Più documenti in un input, separati da ---, vengono ciascuno espansi indipendentemente e riuniti con lo stesso separatore.

Le opzioni controllano la forma dell'output piuttosto che cosa viene espanso. "Preserva ordine delle chiavi" mantiene le chiavi nel loro ordine originale; disattivarla ordina alfabeticamente le chiavi di ogni mapping. "Stile stringa" può forzare ogni valore di stringa a utilizzare virgolette doppie o singole, senza toccare numeri, booleani o null. "Rimuovi ancore inutilizzate" elimina una chiave di livello superiore che esiste solo per definire un'ancora che nessuno mai referenzia — scaffalature morte che i YAML scritti a mano accumulano nel tempo. "Modalità evidenziazione" sostituisce il YAML espanso con un breve rapporto che elenca ogni ancora, dove è definita, e ogni riga che la utilizza tramite un alias o un merge — utile per comprendere un file prima di appiattirlo.

Tutto viene eseguito localmente nel tuo browser — il tuo YAML non viene mai caricato o inviato a un server, il che è importante perché ancore e chiavi di merge sono comuni nei file che contengono configurazioni di ambiente, pipeline CI o manifest Kubernetes. Copia il risultato, scaricalo come file .txt, o invialo direttamente a un altro strumento come YAML a JSON.

FAQ

Cosa conta esattamente come un riferimento qui?
Tre caratteristiche YAML: un'ancora (&name) marca un nodo, un alias (*name) la riutilizza altrove, e una chiave di merge (<<: *name) mescola un mapping ancorato in un altro. Tutti e tre vengono sostituiti con il contenuto effettivo.
I dati espliciti hanno priorità sui dati uniti?
Sì. Se un mapping esegue il merge di una chiave che imposta anche direttamente, viene conservato il valore del mapping — corrispondente a come le chiavi di merge YAML si comportano in ogni parser standard.
Cosa succede con un'ancora circolare, come una che si riferisce a se stessa?
Lo strumento segnala un errore invece di espanderlo, poiché una struttura genuinamente circolare non ha una rappresentazione YAML finita. Rimuovi l'autoreferenza ed eseguilo di nuovo.
Può gestire un file con più documenti ---?
Sì. Ogni documento viene espanso da solo — le ancore in un documento non sono visibili a un altro — e l'output mantiene gli stessi separatori ---.
Il mio YAML viene caricato da qualche parte?
No. L'espansione viene eseguita interamente nel tuo browser utilizzando l'analisi YAML locale — il tuo file non lascia mai il tuo dispositivo.