Strumenti per sviluppatori
Convertitore JSON ↔ YAML
Converti JSON in YAML o YAML in JSON localmente, con array annidati, stringhe e numeri esatti.
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
- 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.
- 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.
- 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": 9007199254740993Ora 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.