Форматирование JSON-ответов API
Вставьте ответ из вкладки «Сеть» в браузере, из curl, Postman или файла логов. HTTP-заголовки, обёртки JSONP и дважды закодированный JSON распознаются автоматически, а большие ID сохраняют все цифры.
Бесплатно · Без регистрации
Как пользоваться
- Скопируйте ответ. В Chrome, Edge или Firefox откройте инструменты разработчика, выберите запрос на вкладке «Сеть» и скопируйте ответ. В терминале используйте curl -s или curl -i, чтобы включить заголовки.
- Вставьте его в поле ввода. Заголовки, обёртка JSONP или JSON, сохранённый как экранированная строка, будут удалены или декодированы, а заметка сообщит, что изменилось.
- Переключитесь на дерево, чтобы изучить вложенные данные. Нажмите на значение, чтобы увидеть его путь, например $.data[0].attributes.email, и скопируйте его для кода или фильтра jq.
- Скопируйте или скачайте отформатированный JSON, либо выберите «Сжать», чтобы получить компактное тело запроса.
Почему стоит использовать этот инструмент
Сырые HTTP-ответы
Вставьте вывод curl -i со строкой статуса и заголовками. Заголовки будут пропущены, а тело отформатировано.
JSONP и двойное кодирование
Обёртки callback({...}) удаляются, а строка JSON со множеством \" декодируется в настоящий JSON.
64-битные ID без искажений
ID больше 9 007 199 254 740 991 показываются ровно так, как их прислал сервер, с пометкой, что JavaScript их округлил бы.
Пути к вложенным значениям
Нажмите на любое значение в дереве, чтобы скопировать путь для JavaScript, jq или проверок в тестах.
Предупреждение о повторяющихся ключах
Если в объекте ключ повторяется, вы узнаете какой, ведь большинство клиентов сохраняет только последнее значение.
Безопасно для реальных ответов
Всё работает в вашем браузере. Токены, cookie и данные клиентов из ответа никуда не загружаются.
Откуда скопировать ответ API
| Источник | Как скопировать JSON |
|---|---|
| Chrome, Edge, Firefox | Инструменты разработчика (F12) › Сеть › выберите запрос › вкладка «Ответ» › скопировать |
| Safari | Разработка › Показать веб-инспектор › Сеть › выберите запрос › Ответ |
| curl | curl -s https://api.example.com/items для тела ответа или curl -i вместе с заголовками |
| Postman, Insomnia | Панель ответа › Body › Raw, затем скопировать |
| Логи сервера | Скопируйте строку лога целиком. Если она обрезана, откройте сам файл логов. |
Почему ответ API трудно читать
API обычно отдают JSON в сжатом виде, без пробелов и переносов строк, потому что так он меньше и быстрее передаётся. В итоге ответ с сотнями записей приходит одной очень длинной строкой.
Форматирование добавляет отступы, не меняя значений, и становится видно, какие поля есть, как вложены массивы и где находятся ссылки пагинации или подробности ошибки. Дерево идёт дальше: сворачивает большие массивы и показывает, сколько элементов в каждом.
Что распознаёт эта страница
- HTTP-заголовки перед телом ответа, например из curl -i или лога прокси.
- Ответы JSONP вроде callback({"items": []}); от старых API.
- Дважды закодированный JSON: строка вида "{\"id\":1}", которую сервер или логгер экранировал дважды.
- Повторяющиеся ключи, которые разные парсеры обрабатывают по-разному.
- Целые числа, слишком большие для чисел JavaScript — частая проблема с ID баз данных и соцсетей.
- Синтаксические ошибки в написанных вручную телах запросов: строка, столбец и исправление типичных ошибок одним нажатием.
Большие ID в JavaScript
Многие API возвращают 64-битные целые ID. JavaScript точно представляет целые числа только до 9 007 199 254 740 991, поэтому response.json() без всякой ошибки превращает 9007199254740993 в 9007199254740992.
Хорошо спроектированные API отдают такие ID строкой, например "id_str". Если ваш API так не делает, разбирайте ответ библиотекой с поддержкой BigInt или попросите поставщика API отдавать ID строками. Этот форматер показывает точные цифры, чтобы вы заметили проблему.
Частые вопросы
Можно вставить ответ вместе с HTTP-заголовками?
Да. Если текст начинается со строки статуса вроде HTTP/1.1 200 OK, всё до первой пустой строки считается заголовками и пропускается. Форматируется только тело ответа.
Безопасно ли вставлять ответы с токенами или личными данными?
Страница обрабатывает всё в вашем браузере и ничего не отправляет на сервер, поэтому данные остаются на устройстве. Тем не менее возьмите за правило удалять токены доступа, прежде чем делиться ответом с кем-либо.
Почему в моём JSON повсюду \"?
JSON закодировали дважды, и теперь это строка, внутри которой JSON. Эта страница декодирует его автоматически. В своём коде вызовите JSON.parse дважды или исправьте сервер, чтобы он не превращал данные в строку второй раз.
Что такое JSONP?
JSONP оборачивает JSON в вызов функции JavaScript, например callback({...}), чтобы старые браузеры могли загружать данные с другого домена. Современные API используют CORS. Эта страница снимает обёртку, чтобы данные можно было прочитать.
Как использовать путь в коде?
Путь $.data[0].id означает: взять массив data, его первый элемент, а затем поле id. В JavaScript это response.data[0].id, в jq — .data[0].id.
Можно ли форматировать ответы XML или GraphQL?
Ответы GraphQL — это JSON, поэтому они подходят. XML — другой формат, здесь он не поддерживается.
Как читать и отлаживать JSON-ответы API
Похожие инструменты
Нужно что-то создать?
Расскажите, что вы хотите построить.
Расскажите, что вам нужно создать: от простого сайта до полноценного приложения, AI-решения, автоматизации или индивидуальной системы.