Параметры URL в JSON и обратно

Преобразуйте query string, сохраняя повторяющиеся параметры.

Открыть файл UTF-8

Можно перетащить файл сюда

JSONNDJSONJSONLTXT

Один файл до 1 МиБ, текст до 200 000 символов. Можно вставить данные в поле ниже.

Только параметры, без полного URL и #фрагмента. Повторяющиеся ключи — массивы строк; + при разборе означает пробел. JSON принимает строки и непустые массивы строк.

Обработка в браузере. До 64 уровней и 30 000 значений JSON. Повторяющиеся ключи и числа с потерей точности отклоняются. После обновления страницы редактор сбросится.

Результат

Вставьте данные или выберите пример. После обработки проверьте результат и скачайте файл.

Данные остаются на вашем устройстве.

Как пользоваться

JSON со строками и массивами строк либо %-кодированная строка параметров URL.

  1. Выберите направление преобразования.
  2. Вставьте параметры URL или JSON со строковыми значениями.
  3. Создайте результат, проверьте повторы и скачайте JSON или TXT.

Пример

Параметры URL в JSON и обратно

Исходные данные
q=Анна+Петрова&tag=книга&tag=новинка

Выберите «Параметры URL в JSON».

Что получится
{"q":"Анна Петрова","tag":["книга","новинка"]}
Форматы и ограничения

Разберите строку запроса без потери повторяющихся параметров или соберите параметры из объекта. Все значения сохраняются как строки; числа, вложенные объекты и пустые массивы не преобразуются по неявным правилам.

На входе
Текст UTF-8, JSON
Результат
JSON, TXT

JSON со строками и массивами строк либо %-кодированная строка параметров URL.

  • Каждое поле — до 200 000 символов; импорт одного файла UTF-8 — до 1 МиБ.
  • Вложенность JSON — до 64 уровней, дерево — до 30 000 значений, результат — до 1 000 000 символов.
  • Повторяющиеся имена ключей и числа с потерей точности отклоняются. Большие числа передавайте строками.

Передавайте только параметры, без полного адреса и #фрагмента. Группировка повторов по ключу не сохраняет общее чередование разных параметров.

Данные обрабатываются только в вашем браузере и не отправляются серверу. Редактор хранит их в памяти: после обновления страницы ввод, настройки и результат сбрасываются.

Данные обрабатываются только в вашем браузере и не отправляются серверу. Редактор хранит их в памяти: после обновления страницы ввод, настройки и результат сбрасываются. Передавайте только параметры, без полного адреса и #фрагмента. Группировка повторов по ключу не сохраняет общее чередование разных параметров. Каждое поле — до 200 000 символов; импорт одного файла UTF-8 — до 1 МиБ. Вложенность JSON — до 64 уровней, дерево — до 30 000 значений, результат — до 1 000 000 символов. Повторяющиеся имена ключей и числа с потерей точности отклоняются. Большие числа передавайте строками.

Вопросы об инструменте

Что произойдёт с повторяющимся параметром?

Например, tag=a&tag=b превращается в {"tag":["a","b"]}. Значения внутри массива сохраняют порядок.

Можно ли вставить полный URL?

Нет. Вставьте только часть после ?, например q=текст&page=1. Один начальный ? разрешён; адрес сайта и #фрагмент нужно убрать.

Почему знак + становится пробелом?

При разборе query string применяется правило формы URL: + означает пробел. Для буквального плюса используйте %2B. Обратное кодирование записывает пробел как %20.

Превратится ли page=1 в число?

Нет. Все параметры URL — строки. JSON будет содержать "page":"1"; преобразуйте тип отдельно в своей системе.

Какие значения JSON можно кодировать?

Корневой объект может содержать строки или непустые массивы строк. Числа, null, объекты и пустые массивы отклоняются, чтобы не терять смысл.

Сохранится ли точная запись исходной строки параметров?

Нет. Кодирование нормализует escape-последовательности и пробелы, а повторы группируются по ключам. Такой результат нельзя считать точной копией подписанного URL.

Разобраться в задаче

Все инструкции
Данные и полезное5 мин

Как подготовить JSON-настройки, строки и параметры URL для API

Проверьте приоритет объединения, сортировку ключей, JSON-экранирование и повторяющиеся параметры URL без автоматического изменения типов.

Читать инструкцию