JSON в параметры GET

Локальная обработка
app.querystring.view

Данные также можно передать через #data={"name":"Ada"} или #url=... После чтения параметры сразу удаляются из адресной строки.

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

Объект и query-строка URL туда и обратно. Соберите GET-запрос или восстановите JSON из параметров адресной строки, не считая вручную & и кодирование. Вложенные объекты по возможности становятся ключами со скобками.

JSON → query

Вложенная структура по возможности становится a[b]=c или похожим именем ключа. У массивов добавляются индексы — удобно сверить привязку на бэкенде.

Кириллица и пробелы обрабатываются по правилам URL-кодирования.

query → JSON

Преобразуйте строки Cookie вида page=1&q=json восстанавливается в объект. Достаточно скопировать query из адресной строки браузера или из дампа трафика.

Повторяющиеся ключи разбираются по правилам этой страницы; сложные повторы лучше выборочно проверить.

Локально

Полный URL к нам не отправляется. Можно отлаживать и параметры внутренних API.

Для POST с JSON в теле эта страница не нужна — достаточно форматирования.

Пример

JSON
{"page":1,"q":"json","tags":["a","b"]}
Строка запроса (схема)
page=1&q=json&tags=a&tags=b
А пробелы и кириллица?

Обрабатываются по правилам URL-кодирования. Перед вставкой в адресную строку убедитесь, что сервер декодирует так же.

Нужно ли это для POST JSON?

Если тело запроса — JSON, достаточно форматирования; эта страница про query string.

Ключи со скобками в стиле PHP / Rails?

По возможности разворачиваются во вложенный объект. Если соглашение фреймворка другое, сверьтесь с его документацией.

Параметры после хеша (#)?

Страница обрабатывает query после ? . Если SPA хранит состояние в hash, копируйте только часть query.

Рекомендуемый процесс

  1. Выберите JSON → GET или GET → JSON.
  2. Вставьте объект или строку запроса и посмотрите результат.
  3. Добавьте query к URL API и сделайте пробный запрос или верните JSON в тест.
  4. При кракозябрах из‑за кодировки сверьте серверный decodeURIComponent / привязку фреймворка.

У GET есть ограничение длины. Если параметров много или внутри большой JSON, лучше POST Body, а не весь query.