Convertitore da JSON a YAML
Converti JSON in YAML e YAML in JSON mentre scrivi: modifica uno dei due lati e l'altro si aggiorna.
Fissa qui gli strumenti. Restano salvati in questo browser.
Fissa uno strumento e il suo adesivo arriva qui.
Converti JSON in YAML e YAML in JSON mentre scrivi: modifica uno dei due lati e l'altro si aggiorna.
JSON e YAML descrivono lo stesso tipo di dati: mappe, liste, stringhe, numeri, booleani e null. YAML 1.2 è stato scritto in modo che JSON ne sia un sottoinsieme, e aggiunge ciò che serve a un file modificato a mano: commenti, indentazione al posto delle parentesi, stringhe su più righe, più documenti in un solo file, e anchor con alias per riutilizzare un valore.
Passando da JSON a YAML ogni valore si conserva, con un'eccezione: una chiave che compare due volte nello stesso oggetto mantiene solo l'ultimo valore, perché una mappa YAML non può ripetere una chiave. Passando da YAML a JSON restano solo i dati: i commenti spariscono, gli alias e le merge key << vengono sostituiti dai valori a cui puntano, i tag personalizzati come !Ref vengono rimossi mentre i loro valori restano, e le chiavi che non sono stringhe, come 1 o true, diventano il loro testo.
Il problema della Norvegia. In YAML 1.1 le parole senza virgolette yes, no, on e off sono booleani, quindi un elenco di codici di paese che contiene no si ritrova con un false. YAML 1.2 tiene solo true e false. Il parser di questo strumento segue YAML 1.2, a meno che il documento non inizi con una direttiva %YAML 1.1, quindi legge no come la stringa «no». Molti parser ancora in uso applicano le regole della 1.1, perciò quando questo strumento scrive YAML mette queste stringhe tra virgolette.
Numeri di versione. Un 1.10 senza virgolette è un numero in virgola mobile, e come numero vale 1.1. Numeri di versione, CAP e qualsiasi altra cosa che sembra soltanto un numero vanno messi tra virgolette per restare testo: version: "1.10".
Il lato che hai modificato per ultimo è la sorgente, e l'altro lato viene riscritto a partire da quello. Se la sorgente non si riesce ad analizzare, l'errore compare sotto di essa e l'altro lato mantiene l'ultima conversione valida. Le opzioni di indentazione valgono per il lato generato; cambiare l'indentazione JSON reindenta anche il JSON che hai scritto tu, mentre lo YAML che hai scritto non viene mai riscritto, perché perderebbe i commenti.
Le chiavi restano nell'ordine della sorgente, comprese quelle fatte di sole cifre, che un oggetto JavaScript sposterebbe in cima. Gli interi più grandi di 2 elevato alla 53 vengono copiati cifra per cifra in entrambe le direzioni. Un file YAML con più documenti separati da --- diventa un array JSON, e la pagina lo segnala. Una chiave usata due volte nella stessa mappa YAML viene segnalata come errore. Lo YAML viene letto e scritto dal pacchetto open source yaml, che gira nel tuo browser.
YAML 1.2 è stato progettato in modo che JSON ne sia un sottoinsieme, e un parser YAML 1.2 legge un documento JSON. Una rara eccezione è un oggetto che ripete una chiave, cosa che YAML non accetta. Puoi provarlo qui incollando del JSON nel lato YAML.
JSON non ha né gli uni né gli altri. I commenti vengono scartati e ogni alias viene sostituito da una copia del valore che contiene il suo anchor. Riconvertendo quel JSON si ottiene YAML con gli stessi dati, ma senza commenti e anchor.
Senza virgolette, YAML legge 1.10 come numero in virgola mobile, e quel numero è 1.1. Scrivilo come "1.10" per tenerlo come testo. Lo stesso vale per valori come 010 o 1e3.
No. Entrambe le conversioni girano in JavaScript nella scheda del tuo browser, e lo strumento non fa alcuna richiesta di rete con ciò che scrivi.
Si apre in una finestra tutta sua e continua a funzionare offline.
Per installarla, tocca il pulsante Condividi e poi «Aggiungi alla schermata Home».