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

SQL в JSON

Преобразуйте операторы SQL INSERT в массив объектов JSON.

Входные данные
Выходные данные

SQL в JSON

Вставьте один или несколько операторов SQL INSERT INTO, и этот инструмент превратит их в массив объектов JSON, по одному на строку, используя имена столбцов в качестве ключей. Он обрабатывает многострочные списки VALUES, несколько операторов одновременно и варианты кавычек, которые вы видите в дампах MySQL, PostgreSQL и SQL Server — строковые значения в одинарных кавычках с экранированием '' и идентификаторы, заключенные в обратные кавычки, двойные кавычки или квадратные скобки.

Выберите «Сгруппировано по таблице» вместо плоского массива по умолчанию, когда ваши входные данные смешивают операторы INSERT для нескольких таблиц — строки затем собираются под собственным именем каждой таблицы в одном объекте JSON. Вывод типа преобразует числовые литералы к числам JSON, TRUE/FALSE к логическим значениям и NULL к JSON null; отключите его, чтобы каждое значение сохранялось точно таким, каким оно было прочитано в SQL, в виде простой строки. Pretty-printing добавляет отступ в два пробела для удобства чтения или отключите его, чтобы получить компактный минимизированный результат.

Синтаксический анализатор представляет собой небольшой написанный вручную токенизатор, созданный для этой единственной задачи: ни один механизм SQL нигде не запускается и ничего не выполняется. Если оператор не может быть проанализирован, инструмент сообщает о строке и столбце и показывает фрагмент, вызывающий сбой, вместо того, чтобы молча терпеть неудачу или гадать об исправлении. Строка с количеством значений, отличным от числа объявленных столбцов, сообщается таким же образом, поэтому опечатку в сценарии миграции или исходном файле легко обнаружить.

Все работает в вашем браузере. Вставляемый вами SQL — имена таблиц, исходные данные, средства миграции — никогда не покидает ваше устройство, поэтому его можно безопасно использовать в производственных дампах или в чем-либо еще, содержащем реальные данные клиентов. Когда вы закончите, скопируйте JSON, загрузите его в виде файла или отправьте прямо в другой инструмент, например в форматтер JSON.

FAQ

Какие диалекты SQL он понимает?
Стандартные инструкции INSERT INTO со строками в одинарных кавычках, литералами NULL/TRUE/FALSE и идентификаторами в обратных, двойных или скобочных кавычках — общая основа для дампов MySQL, PostgreSQL и SQL Server. Он не использует настоящий механизм SQL, поэтому выражения, подзапросы или вызовы функций внутри VALUES не поддерживаются.
Что происходит с несколькими операторами INSERT в одном входе?
Каждый оператор анализируется, и его строки добавляются к результату — либо в виде одного плоского массива (по умолчанию), либо группируются по имени таблицы, если вы переключаете форму вывода, при этом строки из повторяющихся операторов для одной и той же таблицы объединяются в один список.
Что, если в инструкции не объявлены имена столбцов?
Столбцы называются col1, col2 и т. д. в зависимости от позиции, поэтому JSON по-прежнему получает один ключ на каждое значение.
Как работает вывод типа?
Если этот параметр включен, числовые литералы становятся числами JSON, TRUE/FALSE становятся логическими значениями, а NULL становится нулевым значением JSON. Отключите его, чтобы каждое значение сохранялось точно в том виде, в котором оно записано, в виде строки.
Мой SQL где-нибудь загружен?
Нет. Анализ происходит исключительно в вашем браузере — вставляемый вами SQL-код, включая любые содержащиеся в нем реальные данные, никогда не покидает ваше устройство.