Strumenti per sviluppatori

Convertitore JSON ↔ YAML

Converti JSON in YAML o YAML in JSON localmente, con array annidati, stringhe e numeri esatti.

I tuoi dati

Conversione dati YAML 1.2. Commenti e formattazione non sono conservati. Limite di input: 2 MiB.

I tuoi risultati

Converti JSON e YAML con i tipi di dati desiderati

Converti dati compatibili con JSON tra JSON rigoroso e la sintassi core di YAML 1.2. Il convertitore conserva le rappresentazioni numeriche JSON, inclusi gli interi grandi, anziché arrotondarli prima tramite i numeri JavaScript. Converte i valori dei dati, non la formattazione del documento originale o lo schema di configurazione di un'applicazione. Commenti, ancoraggi e scelte di presentazione YAML non vengono mantenuti nella conversione in JSON.

Passo dopo passo

  1. Incolla testo o apri un file JSON, YAML, YML o TXT locale in UTF-8. Scegli esplicitamente JSON → YAML oppure YAML → JSON; l'apertura di un file non rileva la direzione.
  2. Scegli due o quattro spazi e, se vuoi, ordina le chiavi degli oggetti. Elabora il contenuto e risolvi gli eventuali errori di sintassi o di funzionalità non supportate. L'ordinamento è ricorsivo e usa l'ordine lessicografico distinguendo maiuscole e minuscole; l'ordine degli array resta invariato.
  3. Controlla stringhe, valori booleani, valori null e numeri, poi copia, stampa o scarica converted.yaml o converted.json. Se modifichi il contenuto o le opzioni, elabora di nuovo perché il risultato precedente viene cancellato. Convalida il file convertito nell'applicazione che lo userà.

Impostazioni e limiti

Tipi e regole del documento
Usa un solo documento YAML 1.2 con chiavi stringa univoche e valori compatibili con JSON. Metti tra virgolette gli identificatori dall'aspetto numerico come "00123"; un valore YAML 00123 senza virgolette diventa il numero 123. I valori semplici yes, on e il testo delle date ISO restano stringhe secondo le regole core.
Alias e funzionalità non supportate
Gli alias senza cicli vengono espansi in valori ripetuti. Cicli, chiavi duplicate, chiavi non stringa, tag non supportati e numeri non finiti vengono rifiutati. Le chiavi di unione YAML non vengono applicate: <<: *base diventa una normale proprietà "<<", quindi espandi prima i campi che desideri ereditare.
Dimensione e complessità
Il contenuto in ingresso è limitato a 2 MiB di testo UTF-8: 2,097,152 byte. Il risultato è limitato a 8 MiB. L'elaborazione si interrompe anche oltre 128 livelli di annidamento, 200,000 nodi di valore o 100 visite agli alias; anche un file piccolo può superare questi limiti.

Esempio pratico

Scarica types-example.json e scegli JSON → YAML con rientro di due spazi e ordinamento disattivato. Convertilo e confronta types-example.yaml. id e word tra virgolette restano stringhe, enabled resta false e retries e large restano numeri.

Scarica i file di esempio

Dati di esempio

{"id":"00123","word":"yes","enabled":false,"retries":3,"large":9007199254740993}

Risultato atteso

"id": "00123"
"word": "yes"
"enabled": false
"retries": 3
"large": 9007199254740993

Ora apri types-example.yaml, passa esplicitamente a YAML → JSON ed elabora di nuovo. id dovrebbe essere ancora "00123" e l'intero grande dovrebbe essere ancora 9007199254740993. Rimuovi le virgolette intorno a 00123 nello YAML e ripeti: il suo valore diventa il numero 123. Questa differenza conta per gli identificatori, anche quando entrambi i file sono validi.

Domande e risoluzione dei problemi

Perché qui il JSON con chiavi duplicate viene rifiutato, ma altrove viene formattato?

Il Formattatore JSON può segnalare e mantenere le chiavi duplicate. Questo convertitore le rifiuta perché convertirle in una mappa potrebbe cambiarne il significato. Decidi quale valore deve essere presente nel file originale e rimuovi il duplicato prima della conversione.

I commenti e l'ereditarietà YAML verranno mantenuti?

JSON non ha commenti o ancoraggi. Gli alias vengono espansi e le chiavi di unione vengono esportate letteralmente anziché applicate come ereditarietà. Espandi i dati desiderati e controlla il risultato; la conversione non è una riscrittura fedele di ogni funzionalità YAML.

I numeri grandi sono sicuri nell'applicazione di destinazione?

Il convertitore conserva le rappresentazioni numeriche supportate e i valori degli interi grandi, ma un programma successivo potrebbe analizzarli con una precisione inferiore. Usa una stringa tra virgolette quando un valore dall'aspetto numerico è un identificatore e prova il parser dell'applicazione di destinazione.