Сеть/HTTP

Query String ↔ JSON

Разобрать query-строку URL в JSON-объект или собрать JSON обратно в query-строку.

A URL's query string (the part after ?) is a flat set of key-value pairs, while JSON supports nested structures and data types. This tool converts between the two, including repeated keys and arrays.

How to use it

Common uses

Things to keep in mind

Every value in a query string is text — "true", "false", or "42" stay strings in the JSON until code explicitly converts them to the right type.

Nested objects and arrays have no single standard query-string notation — different backend frameworks (PHP, Rails, Express) use slightly different syntax (a[b]=1 vs a.b=1).

Статья об этом инструменте: Query String против JSON: почему GET-параметры такие ограниченные

Часто задаваемые вопросы

Как этот инструмент обрабатывает повторяющиеся имена параметров вроде ?tag=a&tag=b?

Повторяющиеся ключи обычно собираются в массив (tag: ["a", "b"]), а не перезаписывают друг друга, что соответствует тому, как большинство бэкенд-фреймворков разбирают строки запроса.

Что происходит со спецсимволами при конвертации?

Символы, закодированные в процентном формате (например, %20 для пробела), декодируются обратно в буквальный вид при конвертации в JSON, и кодируются снова при конвертации JSON обратно в строку запроса.

Отправляется ли мой URL или данные куда-либо для выполнения этой конвертации?

Нет. Конвертация происходит полностью в вашем браузере — ничего не отправляется на сервер.

Какова максимальная длина URL, которую можно безопасно использовать?

Примерно 2000 символов — это самый консервативный общий лимит среди популярных браузеров и серверов. Для больших объёмов данных стоит использовать POST-запрос с телом вместо query string.

Как передать значение true/false или число через query string?

Query string всегда хранит только текст — значения "false" или "42" остаются строками, пока код на сервере или клиенте явно не распознает и не преобразует их в булево значение или число.

Статьи: Сеть/HTTP

Разбор URL: из каких частей состоит веб-адрес

Почему в URL есть часть после символа #, которую сервер даже не получает.

User-Agent: почему эта строка такая запутанная

Почему Chrome, Safari и Edge все содержат в User-Agent слова "Mozilla" и "Safari" одновременно.

Basic Authentication: как простейший способ аутентификации работает в HTTP

Почему Basic Auth обязательно требует HTTPS, ведь Base64 — это не шифрование, а лишь кодирование.

HTTP-заголовки: что скрыто в каждом запросе и ответе

Почему заголовок Content-Type определяет, как браузер интерпретирует тело ответа сервера.

Cookies: как небольшой кусок текста хранит состояние сессии

Почему атрибут HttpOnly защищает cookie от кражи через вредоносный JavaScript-код.

CORS: почему браузер блокирует "обычные" запросы к другому домену

Почему ошибка CORS возникает в браузере, а не на стороне сервера, и кто на самом деле блокирует запрос.

Заголовки email: как проследить путь письма от отправителя до вас

Почему заголовки Received нужно читать снизу вверх, чтобы проследить путь письма.