Vai al contenuto
100% locale

Ruby hash a JSON

Converti un letterale di hash Ruby o output di pp/inspect in JSON e viceversa.

Ingresso

Ruby hash a JSON

Incolla un letterale di hash Ruby, oppure l'output di `pp`, `.inspect` o una console Rails, e questo strumento lo converte in JSON pulito. Capisce entrambi gli stili di chiave di hash — il classico hash rocket (`:name => 'Alice'`, `'name' => 'Alice'`) e la forma abbreviata moderna (`name: 'Alice'`), incluse le chiavi abbreviate quotate come `'full name': 'Alice Smith'`. Gli hash annidati e gli array, le stringhe con virgolette singole e doppie, i simboli (`:active` diventa la stringa "active"), gli interi e i decimali con trattini bassi come separatori di migliaia (`1_000_000`), `true`, `false`, `nil`, le virgole finali, i commenti `#` e l'input multilinea sono tutti gestiti, quindi puoi incollare l'output della console esattamente come è stato stampato.

Le opzioni controllano come appare il JSON. Attiva o disattiva la formattazione elegante con rientri di 2 spazi, 4 spazi o tabulazione, oppure riduci tutto a una sola riga. Le chiavi di simbolo possono essere renderizzate come stringhe JSON semplici oppure mantenere due punti iniziali (`":name"`) come promemoria da dove provengono. Ordinare le chiavi alfabeticamente facilita il confronto tra due hash. Un Ruby `nil` può diventare JSON `null` o essere completamente omesso dall'output, a seconda di cosa si aspetta il tuo strumento. L'interruttore di direzione inverte tutto: incolla JSON e ottieni un letterale di hash Ruby, scegliendo la sintassi abbreviata o hash-rocket per le chiavi generate.

Copre i casi quotidiani del debug di una sessione console Rails, della conversione di un hash di configurazione hardcoded in JSON per un frontend o un test API, della documentazione di ciò che un metodo restituisce effettivamente, o dell'inizializzazione di un fixture Ruby da un payload JSON che qualcuno ti ha inviato. Quando l'input non è un Ruby valido, l'errore nomina la riga esatta e la colonna e cosa era previsto lì, invece di lasciarti indovinare quale parentesi manca.

Tutto viene eseguito localmente nel tuo browser — l'hash o il JSON che incolla, che può includere dati reali da un'applicazione in esecuzione, non viene mai caricato da nessuna parte. Copia il risultato, scaricalo come file .json o invialo direttamente a un altro strumento come il formattatore JSON per continuare.

FAQ

Quale sintassi di hash Ruby capisce questo strumento?
Entrambi gli stili — hash rocket (`:key => value`, `'key' => value`) e forma di simbolo abbreviata (`key: value`, incluse le chiavi quotate come `'full name': value`), più hash annidati e array, stringhe con virgolette singole e doppie, simboli, numeri con trattini bassi, `true`/`false`/`nil`, virgole finali, commenti `#` e input multilinea.
Cosa succede ai simboli Ruby?
Un valore di simbolo come `:active` diventa la stringa JSON "active". Un simbolo usato come chiave di hash (scritto come `:name => ...` o abbreviato come `name: ...`) diventa una chiave di stringa JSON semplice per impostazione predefinita, oppure mantiene due punti iniziali (`":name"`) se lo scegli.
Come lo strumento gestisce il nil di Ruby?
Scegli se `nil` si converte in JSON `null` (la voce rimane con un valore nullo) o viene completamente omessa, in modo che la chiave scompaia dall'output.
Posso convertire nel modo opposto, da JSON a hash Ruby?
Sì. Cambia la direzione a "JSON → Ruby hash" e scegli se le chiavi generate usano la sintassi hash-rocket (`:key => value`) o abbreviata (`key: value`).
Il mio codice Ruby o JSON viene caricato da qualche parte?
No. L'analisi e la conversione vengono eseguite interamente nel tuo browser usando JavaScript — nulla di ciò che incolla viene inviato a un server.