Vai al contenuto

Convertitore JSON ↔ YAML

Convertitore JSON ↔ YAML

Modifica JSON e YAML affiancati con sincronizzazione bidirezionale istantanea. Supporta regolazione dell'indentazione, ordinamento delle chiavi e suddivisione in multi-documento YAML. Utile per configurazioni Kubernetes/Helm/CI e debug API.

Convertitore JSON ↔ YAML

🚀 Avvio rapido

  • Incolla o digita JSON nell'editor di sinistra e YAML a destra si aggiornerà automaticamente.
  • Puoi anche digitare YAML a destra e JSON a sinistra si aggiorna automaticamente.
  • La sincronizzazione è completamente bidirezionale. Non è necessario cambiare modalità: modifica uno dei due lati e l'altro lato si aggiorna istantaneamente.
  • Utilizza la barra degli strumenti in alto per impostare il rientro JSON/YAML, abilitare l'ordinamento delle chiavi e attivare l'output YAML multi-documento.
  • Premi Tab nell'editor per inserire il rientro invece di spostare lo stato attivo.
  • Ogni editor ha i pulsanti Copia e Cancella nell'angolo in alto a destra. Cancellando uno dei due lati si cancellano entrambi i lati.

📌 Scenari comuni

  • Creazione Kubernetes: converti i manifest delle risorse K8 tra YAML e JSON per ispezionare la struttura da entrambe le viste.
  • Debug dei valori del timone: converti valori.yaml in JSON per controllare i tipi e la nidificazione nel tuo IDE.
  • Pipeline CI/CD: converti rapidamente snippet tra GitHub Actions (YAML) e sistemi CI che utilizzano JSON.
  • Debug API: converti i payload JSON in YAML per una visione gerarchica più chiara.
  • Migrazione della configurazione: conversione batch dei file di configurazione tra YAML e JSON.
  • Formattazione e convalida: verifica la sintassi JSON/YAML tramite sincronizzazione bidirezionale, con posizione dell'errore di riga/colonna.

🧭 Consigli d'uso

  • Un rientro JSON a 2 spazi funziona nella maggior parte dei casi; utilizzare 4 spazi per i file di nidificazione profonda o di valori Helm.
  • Attiva l'ordinamento delle chiavi per mostrare le chiavi degli oggetti in ordine alfabetico. In questo modo è più facile confrontare le differenze di configurazione.
  • Quando la radice JSON è un array, abilita YAML multi-documento per dividere ciascun elemento in un documento separato (---), utile per i file K8 con più risorse.
  • Se l'input non è valido, l'editor mostra un errore con i dettagli della riga/colonna; l'altro lato mantiene l'ultimo contenuto valido.
  • Per contenuti di grandi dimensioni, incolla prima e attendi la sincronizzazione, quindi continua a modificare per evitare un'eccessiva riconversione.

⚠️ Limitazioni e compatibilità

  • L'analisi YAML segue le specifiche YAML 1.2. Alcuni comportamenti specifici di YAML 1.1 (ad esempio, la conversione booleana automatica sì/no) potrebbero differire.
  • I numeri JSON seguono i limiti JavaScript IEEE 754. I numeri interi oltre la precisione sicura di 53 bit potrebbero perdere accuratezza.
  • Gli ancoraggi e gli alias YAML (&, *, <<) vengono espansi in valori concreti quando convertiti in JSON; i riferimenti non possono essere conservati.
  • I commenti YAML vengono eliminati durante la conversione perché JSON non supporta i commenti.

🔒 Privacy e sicurezza

  • Tutta l'elaborazione avviene localmente nel tuo browser. I tuoi dati non lasciano mai il tuo dispositivo.

❓ Domande frequenti

Qual è la differenza tra JSON e YAML e quando dovrei usarli?

JSON e YAML possono rappresentare gli stessi tipi di dati (oggetti, array, stringhe, numeri), ma la loro sintassi è diversa: • JSON utilizza parentesi graffe/parentesi e virgolette doppie, ha una sintassi più rigorosa e non supporta i commenti. • YAML utilizza il rientro per la gerarchia, è più leggibile e supporta i commenti, ma è sensibile agli spazi bianchi. Regola pratica: • Per le API e lo scambio di dati da macchina a macchina, preferire JSON. • Per le configurazioni Kubernetes/Helm/CI che gli utenti modificano spesso, preferisci YAML. • È possibile effettuare la conversione tra di essi senza modificare il modello dati.

Perché sì/no/on/off in YAML diventano vero/falso dopo la conversione?

Ciò deriva dal comportamento legacy YAML 1.1, in cui sì/no/on/off/y/n possono essere analizzati come booleani. Questo strumento segue YAML 1.2, dove solo vero/falso sono booleani. Se hai bisogno di valori stringa, virgolettali (ad esempio, "sì").

Perché i commenti YAML scompaiono dopo la conversione in JSON?

JSON (RFC 8259) non consente commenti. Pertanto i commenti YAML non possono essere conservati nella conversione YAML→JSON e non possono essere ricostruiti durante la riconversione. Conserva il file YAML originale se i commenti sono importanti.

Cosa significa --- in YAML?

--- è il separatore di documenti di YAML, utilizzato per archiviare più documenti indipendenti in un unico file. Questo è comune in Kubernetes, dove un file può contenere definizioni di distribuzione, servizio e ConfigMap. Questo strumento legge YAML multi-documento come un array JSON e può anche suddividere un array JSON in documenti YAML separati.

Cosa devo fare se la precisione numerica viene persa dopo la conversione?

JavaScript utilizza numeri a precisione doppia IEEE 754. Gli interi sicuri vanno da -(2^53-1) a 2^53-1 (±9007199254740991). I numeri interi più grandi (ad esempio, ID Snowflake o timestamp a 64 bit) potrebbero perdere precisione. Per preservare i valori esatti, archiviarli come stringhe, ad esempio "9007199254740992".

Cosa succede agli ancoraggi YAML (& e *) durante la conversione?

Gli ancoraggi (&nome) e gli alias (*nome) sono funzionalità di riutilizzo specifiche di YAML. JSON non ha un meccanismo di riferimento equivalente, quindi gli alias vengono espansi in copie complete durante la conversione. Si tratta di una trasformazione con perdita e la struttura di ancoraggio originale non può essere ripristinata automaticamente.