Convertitore YAML e JSON

Converti localmente un sottoinsieme limitato di YAML 1.2 e JSON, conservando i lessemi numerici esatti e rifiutando strutture non supportate invece di perdere dati silenziosamente.

Questa pagina mostra gli strumenti disponibili in questa lingua nell’ambito attuale. Non significa che ogni strumento del sito sia tradotto in tutte le lingue.

Il trattamento avviene nel browser, senza caricamenti né salvataggi automatici. La lettura del file ha un limite di tempo autonomo di 5 secondi; segue un unico worker annullabile con 5 secondi per la conversione. I link non vengono aperti e il contenuto non viene eseguito.

Input fino a 256 KiB in UTF-8 e output fino a 2 MiB. Profondità di 32 livelli, 500 coppie per mappa, 30 000 nodi CST o AST e 120 000 lessemi. Stringhe decodificate: 65 536 unità UTF-16; lessemi numerici: 1024 caratteri. Questi non sono limiti alla memoria totale del browser.

È supportato un sottoinsieme limitato di YAML 1.2: chiavi stringa univoche, sequenze, mappe e valori JSON. Vengono rifiutati ancoraggi (anchors), riferimenti alias (aliases), tag espliciti, direttive, unioni di mappe (merge), documenti multipli, chiavi non stringa, NaN e Infinity. Usa mappe esplicite nelle sequenze, come [{a: b}].

I lessemi numerici JSON grandi, decimali e con esponente restano esatti senza conversione a Number, inclusi -0 e 1e400. Le forme numeriche YAML supportate vengono normalizzate come testo; esadecimali e ottali senza segno usano BigInt. yes, on e le date senza virgolette restano stringhe; le regole YAML 1.1 non sono attivate.

Come si usa

Scegli direzione e origine dei dati. Incolla il testo o seleziona un file UTF-8 locale, quindi converti e controlla l’anteprima e l’avviso sulla perdita dello stile. Copia esplicitamente il risultato completo o scarica converted.json oppure converted.yaml. Il testo troppo lungo o un file non leggibile resta rifiutato finché non correggi quello stesso input; cambiare un’altra opzione non elabora un valore precedente. Lettura e conversione possono essere annullate; il file originale non cambia.

Prova un esempio

Il testo YAML n: 9007199254740993 produce JSON che conserva quel numero esatto. Il testo JSON {"n":1e400,"name":"Italiano"} produce YAML che mantiene 1e400 senza convertirlo in Infinity. .5 diventa 0.5 e 0o10 diventa 8, mentre yes e la data 2026-09-25 restano stringhe.

Supporto e limiti

Valori, ordine delle mappe e delle sequenze e lessemi della grammatica numerica JSON vengono conservati senza conversione a Number. Le forme numeriche YAML supportate sono normalizzate come testo; esadecimali e ottali senza segno usano BigInt. Non si applicano regole YAML 1.1 e non vengono conservati commenti, stili, virgolette o interruzioni di riga originali. L’output è UTF-8 senza BOM e termina con LF. Sono rifiutati aliases, anchors, tag espliciti incluso !!str, direttive, documenti multipli, merge, chiavi non stringa o duplicate, NaN/Infinity e coppie abbreviate come [a: b]; usa mappe esplicite. I file richiedono UTF-8 valido; la BOM in ingresso è mantenuta e accettata inizialmente da YAML, ma rifiutata da JSON. L’anteprima è solo testo e può terminare all’interno di un carattere composto; gli appunti possono cambiare le interruzioni di riga secondo il sistema. Nulla viene caricato, salvato, eseguito o seguito come link.

Domande frequenti

Il convertitore supporta tutto YAML o ripara automaticamente i documenti?

No. Converte il sottoinsieme YAML 1.2 dichiarato rappresentabile con valori JSON e rifiuta input non supportati o oltre i limiti. La conversione non è sanificazione di sicurezza né validazione di uno schema di dati e non garantisce che un’altra applicazione legga numeri grandi senza arrotondarli. Il trattamento limitato non garantisce un tetto alla memoria totale del browser.

Strumenti correlati