Перейти к содержанию

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 — ничто из вставленного не отправляется на сервер.