Sări la conținut
Complet local

Ruby hash în JSON

Convertește un hash literal Ruby sau ieșirea pp/inspect în JSON, sau invers.

Intrare
Ieșire

Ruby hash în JSON

Lipește un hash literal Ruby, sau ieșirea din `pp`, `.inspect` sau dintr-o consolă Rails, iar acest instrument îl convertește în JSON curat. Înțelege ambele stiluri de chei pentru hash — stilul clasic hash rocket (`:name => 'Alice'`, `'name' => 'Alice'`) și sintaxa scurtă modernă (`name: 'Alice'`), inclusiv cheile scurte între ghilimele precum `'full name': 'Alice Smith'`. Hash-urile și array-urile imbricate, șirurile între ghilimele simple și duble, simbolurile (`:active` devine textul "active"), întregii și numerele cu virgulă mobilă care folosesc underscore ca separator de mii (`1_000_000`), `true`, `false`, `nil`, virgulele finale, comentariile cu `#` și introducerea pe mai multe linii sunt toate acceptate, astfel încât poți lipi ieșirea din consolă exact așa cum a fost afișată.

Opțiunile controlează modul în care este generat JSON-ul. Comută formatarea (pretty-printing) cu indentare de 2 spații, 4 spații sau tab, sau restrânge totul pe o singură linie. Cheile de tip simbol pot fi redate ca șiruri JSON simple sau pot păstra un colon inițial (`":name"`) ca memento al originii lor. Sortarea alfabetică a cheilor facilitează compararea a două hash-uri. Un `nil` din Ruby poate deveni `null` în JSON sau poate fi eliminat complet din rezultat, în funcție de cerințele instrumentului tău secundar. Comutatorul de direcție inversează întregul proces: lipești JSON și primești înapoi un hash literal Ruby, alegând sintaxa scurtă sau hash-rocket pentru cheile generate.

Acoperă cazurile obișnuite de depanare a unei sesiuni din consola Rails, transformarea unui hash de configurare hardcodat în JSON pentru frontend sau un test de API, documentarea a ceea ce returnează efectiv o metodă sau popularea unei structuri de date Ruby dintr-un JSON primit. Când datele introduse nu reprezintă un cod Ruby valid, eroarea indică linia și coloana exactă, precum și ce se aștepta acolo, fără să te lase să ghicești ce paranteză lipsește.

Totul rulează local în browserul tău — hash-ul sau JSON-ul pe care îl lipești, care poate include date reale dintr-o aplicație în funcțiune, nu este încărcat niciodată nicăieri. Copiază rezultatul, descarcă-l ca fișier .json sau trimite-l direct într-un alt instrument, cum ar fi formatatorul JSON, pentru a continua lucrul.

FAQ

Ce sintaxă de hash Ruby înțelege acest instrument?
Atât stilul hash rocket (`:key => value`, `'key' => value`), cât și stilul simplificat de simboluri (`key: value`, inclusiv chei între ghilimele precum `'full name': value`), plus hash-uri și array-uri imbricate, șiruri cu ghilimele simple și duble, simboluri, numere cu separatoare underscore, `true`/`false`/`nil`, virgule finale, comentarii `#` și introducere pe mai multe linii.
Ce se întâmplă cu simbolurile Ruby?
O valoare de tip simbol precum `:active` devine șirul JSON "active". Un simbol utilizat ca o cheie de hash (fie scris ca `:name => ...`, fie în forma scurtă `name: ...`) devine o cheie simplă de tip text JSON în mod implicit, sau păstrează un colon inițial (`":name"`) dacă alegi această opțiune.
Cum gestionează instrumentul valoarea nil din Ruby?
Alege dacă `nil` se convertește în `null` JSON (intrarea rămâne, având o valoare null) sau este omis complet, astfel încât cheia dispare din rezultat.
Pot efectua conversia invers, din JSON înapoi într-un hash Ruby?
Da. Schimbă direcția la "JSON → Ruby hash" și alege dacă cheile generate folosesc sintaxa hash-rocket (`:key => value`) sau sintaxa scurtă (`key: value`).
Codul meu Ruby sau JSON este încărcat undeva?
Nu. Analiza și conversia rulează în întregime în browserul tău folosind JavaScript — nimic din ce lipești nu este trimis către un server.