Ugrás a tartalomhoz

Ruby hash JSON-ra

Konvertálj egy Ruby hash-t vagy pp/inspect kimenetet JSON-ra, vagy vissza.

Bemenet
Kimenet

Ruby hash JSON-ra

Illessz be egy Ruby hash-t, vagy a `pp`, `.inspect`, illetve a Rails konzol kimenetét, és ez az eszköz tiszta JSON-ná alakítja azt. Mindkét hash kulcsstílust kezeli — a klasszikus „hash rocket”-et (`:name => 'Alice'`, `'name' => 'Alice'`) és a modern rövidített formát is (`name: 'Alice'`), beleértve az idézőjeles rövidített kulcsokat is (például `'full name': 'Alice Smith'`). A beágyazott hash-ek és tömbök, az egy- és dupla idézőjeles karakterláncok (stringek), a szimbólumok (az `:active` a "active" stringgé válik), az aláhúzással elválasztott ezreseket tartalmazó egész és lebegőpontos számok (`1_000_000`), a `true`, `false`, `nil` értékek, a záró vesszők, a `#` megjegyzések és a több-soros bemenetek mind támogatottak, így pontosan úgy illesztheted be a konzol kimenetét, ahogy az megjelent.

A beállítások szabályozzák a JSON végeredmény formátumát. Válthatsz a szépített megjelenítés (pretty-printing) 2 szóközös, 4 szóközös vagy tabulátoros behúzása között, vagy akár egyetlen sorba is összevonhatod az egészet. A szimbólumkulcsok megjelenhetnek sima JSON stringként, vagy megőrizhetik a kezdő kettőspontot (`":name"`), emlékeztetőül arra, honnan származnak. A kulcsok ábécé szerinti rendezése megkönnyíti két hash összehasonlítását (diff). A Ruby `nil` értéke JSON `null`-lá alakulhat, vagy teljesen ki is hagyható a kimenetből, attól függően, hogy a feldolgozó eszközöd mit vár el. Az irányváltó kapcsolóval az egész folyamat megfordítható: illessz be JSON-t, és kapj vissza egy Ruby hash-t, kiválasztva a generált kulcsokhoz a rövidített vagy a „hash rocket” szintaxist.

Ez lefedi az olyan mindennapos eseteket, mint egy Rails konzolmunkamenet hibakeresése, egy kódba égetett konfigurációs hash átalakítása JSON-ná a frontend vagy egy API-teszt számára, egy metódus tényleges visszatérési értékének dokumentálása, vagy egy Ruby fixture feltöltése egy mások által küldött JSON-adatból. Ha a bemenet nem érvényes Ruby-kód, a hibaüzenet pontosan megnevezi a sort, az oszlopot és az ott elvárt értéket, ahelyett, hogy neked kellene kitalálnod, melyik zárójel hiányzik.

Minden helyileg, a böngésződben fut — a beillesztett hash vagy JSON (amely akár egy élő alkalmazás valódi adatait is tartalmazhatja) soha nem kerül feltöltésre sehova. Másold ki az eredményt, töltsd le .json fájlként, vagy küldd közvetlenül egy másik eszközbe (például a JSON formázóba) a munka folytatásához.

Gyakori kérdések

Milyen Ruby hash szintaxist ért meg ez az eszköz?
Mind a „hash rocket” stílust (`:key => value`, `'key' => value`), mind a rövidített szimbólum stílust (`key: value`, beleértve az idézőjeles kulcsokat is, mint az `'full name': value`), emellett a beágyazott hash-eket és tömböket, az egy- és dupla idézőjeles stringeket, a szimbólumokat, az aláhúzással elválasztott számokat, a `true`/`false`/`nil` értékeket, a záró vesszőket, a `#` megjegyzéseket és a több-soros bemenetet.
Mi történik a Ruby szimbólumokkal?
Egy olyan szimbólumérték, mint az `:active`, a "active" JSON stringgé alakul. A hash kulcsként használt szimbólum (akár `:name => ...`, akár rövidített `name: ...` formában van írva) alapértelmezés szerint sima JSON string kulccsá válik, vagy megőrzi a kezdő kettőspontot (`":name"`), ha ezt a beállítást választod.
Hogyan kezeli az eszköz a Ruby nil értékét?
Kiválaszthatod, hogy a `nil` JSON `null` értékké alakuljon (a bejegyzés megmarad null értékkel), vagy teljesen kimaradjon, így a kulcs eltűnik a kimenetből.
Konvertálhatok fordított irányban is, JSON-ból vissza Ruby hash-sé?
Igen. Válts át a "JSON → Ruby hash" irányra, és válaszd ki, hogy a generált kulcsok „hash rocket” (`:key => value`) vagy rövidített (`key: value`) szintaxist használjanak.
Feltöltésre kerül a Ruby kódom vagy a JSON adataim bárhova?
Nem. Az elemzés és a konverzió teljes egészében a böngésződben fut JavaScript segítségével — semmi nem kerül elküldésre egyetlen szerverre sem.