YAML in JSON e JSON in YAML — convertitore che non conserva i commenti
Converti configurazioni YAML di Kubernetes, docker-compose o GitHub Actions in JSON e viceversa nel browser. È una nuova serializzazione, non un andata e ritorno senza perdite: commenti, ancore e documenti multipli vanno persi, e i valori senza virgolette seguono le regole di tipizzazione YAML.
Cosa fa questo convertitore e cosa perde
Due direzioni, un pulsante ciascuna
YAML → JSON e JSON → YAML sono azioni separate. Il risultato sovrascrive l'altro editor e non viene mai unito al testo esistente.
I commenti vanno sempre persi
I commenti YAML vengono scartati durante l'analisi e lo YAML generato non ne contiene mai. JSON non ha comunque una sintassi per i commenti.
Le ancore vengono espanse, i documenti multipli falliscono
Le coppie &anchor / *alias vengono risolte in oggetti duplicati. Un file con più documenti --- viene rifiutato invece di essere unito.
I valori seguono la tipizzazione YAML 1.2
1.0 senza virgolette diventa 1, 2024-01-01 diventa un timestamp ISO e .inf / .nan diventano null. Usa le virgolette per mantenere una stringa.
Esecuzione locale, con scelta file e download
I file vengono letti nel browser e nulla viene caricato. Non c'è un limite rigido di dimensione, ma un file molto grande blocca la scheda durante la conversione.
Domande frequenti sulla conversione YAML ↔ JSON
La conversione è bidirezionale?
Sì: un pulsante per YAML → JSON e uno per JSON → YAML. Ogni direzione però serializza di nuovo i dati, quindi commenti, formattazione e ancore non vengono conservati. Lo YAML generato usa un'indentazione di 2 spazi e va a capo sulle stringhe lunghe a 80 colonne; non ci sono opzioni di indentazione o ordinamento.
Si possono conservare i commenti?
No. Il parser YAML scarta i commenti e lo YAML generato non ne aggiunge; JSON non ha una sintassi per i commenti. Tieni il file commentato come fonte di verità e considera l'output come dati derivati.
Sono supportati ancore, alias e più documenti?
Ancore e alias vengono risolti e scritti come valori duplicati. I documenti multipli (più blocchi ---) vengono rifiutati con «expected a single document in the stream»; separali prima. Riguarda i manifest Kubernetes che raggruppano più risorse in un file.
Perché version: 1.0 diventa 1 e yes resta una stringa?
Gli scalari senza virgolette vengono tipizzati secondo le regole YAML: 1.0 è un numero, quindi viene stampato come 1. js-yaml segue YAML 1.2, dove yes / no / on / off sono stringhe normali, quindi la chiave on: di GitHub Actions resta una stringa. Metti le virgolette quando il tipo deve restare una stringa.
Come vengono gestiti date, interi grandi e null?
Una data senza virgolette come 2024-01-01 viene interpretata come timestamp e in JSON diventa 2024-01-01T00:00:00.000Z. Gli interi oltre 2^53 perdono precisione e .inf / .nan diventano null. ~, null e i valori vuoti diventano tutti null.
Funziona con file Kubernetes, docker-compose o GitHub Actions?
Lo YAML standard a documento singolo funziona, compresi questi formati. Separa prima le esportazioni Kubernetes con più documenti e ricorda che i commenti vanno persi: non usare il risultato come file di configurazione da committare.
Cosa succede con dimensioni dei file e privacy?
Tutto avviene nel browser e nessun file viene caricato. Non c'è un limite configurato, ma la conversione è sincrona sul thread principale, quindi file di diversi MB possono bloccare la pagina.

