Перейти до вмісту

Ruby hash у JSON

Перетворюйте літерал Ruby hash або вивід pp/inspect у JSON і навпаки.

Введення
Вихід

Ruby hash у JSON

Вставте літерал Ruby hash або вивід команди `pp`, `.inspect` чи консолі Rails, і цей інструмент перетворить його на чистий JSON. Він підтримує обидва стилі ключів hash — класичний hash rocket (`:name => 'Alice'`, `'name' => 'Alice'`) та сучасний скорочений синтаксис (`name: 'Alice'`), у тому числі ключі у лапках, такі як `'full name': 'Alice Smith'`. Вкладені геші та масиви, рядки в поодиноких і подвійних лапках, символи (`:active` стає рядком "active"), цілі та дійсні числа з роздільниками тисяч у вигляді підкреслення (`1_000_000`), `true`, `false`, `nil`, завершальні коми, коментарі `#` та багаторядковий ввід — усе це обробляється автоматично, тому ви можете вставляти вивід консолі саме так, як його було виведено.

Параметри дозволяють налаштувати вигляд підсумкового JSON. Вмикайте форматування (pretty-printing) з відступом у 2 пробіли, 4 пробіли або табуляцію чи згортайте все в один рядок. Ключі-символи можуть відображатися як звичайні рядки JSON або зберігати двокрапку на початку (`":name"`) як нагадування про їхнє походження. Сортування ключів за алфавітом полегшує порівняння двох гешів. Значення `nil` з Ruby може перетворюватися на JSON `null` або повністю вилучатися з результату — залежно від того, що очікує ваш наступний інструмент. Перемикач напрямку змінює процес на протилежний: вставте JSON і отримайте назад літерал Ruby hash, вибравши скорочений синтаксис або синтаксис hash-rocket для згенерованих ключів.

Інструмент охоплює щоденні завдання: налагодження сесії в консолі Rails, перетворення жорстко закодованого конфігураційного гешу на JSON для фронтенду чи тестування API, документування того, що насправді повертає метод, або створення фікстур Ruby з отриманого JSON. Якщо вхідні дані не є валідним кодом Ruby, помилка точно вкаже рядок, стовпчик і те, що очікувалося в тому місці, позбавивши вас потреби вгадувати, якої дужки бракує.

Усі процеси виконуються локально у вашому браузері — вставлений геш або JSON (який може містити реальні дані з працюючого додатка) ніколи нікуди не завантажується. Скопіюйте результат, завантажте його як файл .json або відправте напряму в інший інструмент, наприклад у форматувальник JSON, щоб продовжити роботу.

FAQ

Який синтаксис Ruby hash підтримує цей інструмент?
Підтримуються обидва стилі: hash rocket (`:key => value`, `'key' => value`) та скорочений стиль символів (`key: value`, у тому числі ключі в лапках, такі як `'full name': value`), а також вкладені геші та масиви, рядки в поодиноких і подвійних лапках, символи, числа з роздільниками-підкресленнями, `true`/`false`/`nil`, завершальні коми, коментарі `#` та багаторядковий ввід.
Що відбувається із символами Ruby?
Значення-символ, таке як `:active`, стає рядком JSON "active". Символ, використаний як ключ гешу (записаний як `:name => ...` чи як `name: ...`), за замовчуванням стає звичайним рядковим ключем JSON або зберігає двокрапку на початку (`":name"`), якщо ви виберете відповідну опцію.
Як інструмент обробляє Ruby nil?
Ви можете вибрати, чи перетворювати `nil` на JSON `null` (запис залишається з нульовим значенням), чи повністю вилучати його, щоб ключ зник із результату.
Чи можу я виконати зворотне перетворення — з JSON у Ruby hash?
Так. Змініть напрямок на "JSON → Ruby hash" і виберіть, який синтаксис використовуватимуть згенеровані ключі: hash-rocket (`:key => value`) чи скорочений (`key: value`).
Чи завантажується мій код Ruby або JSON куди-небудь?
Ні. Парсинг і конвертація виконуються повністю у вашому браузері за допомогою JavaScript — нічого з вставленого не відправляється на сервер.