Технологии
JSON для API: типичные ошибки перед отправкой

Сервер API отвечает 400, а в логе «invalid JSON» или «unexpected token». Чаще всего ломают лишняя запятая, одинарные кавычки, комментарий в теле и неверный тип поля: строка вместо числа. Вставьте черновик запроса в JSON formatter, разверните с отступами и найдите строку, где парсер споткнулся. Синтаксис чините до отправки; смысл полей сверяйте с документацией API. Эта статья про ошибки перед вызовом, не про красивые отступы ради отступов: за форматированием отдельно JSON formatter: найти ошибку. Ниже: откуда берётся невалидный JSON, что проверить вручную, типичные сбои в теле запроса и что делать, если синтаксис чистый, а сервер всё равно ругается. Рядом: CSV в JSON для API, JSON, YAML и XML. В конце: десять вопросов.
Почему JSON ломается именно перед API
Тело запроса собирают вручную в Postman, в коде, копируют из примера в документации или из таблицы через экспорт. На глаз в одной строке на тысячу символов легко пропустить запятую. Сервер не «догадывается»: парсер либо принимает текст, либо отклоняет весь пакет.
Запросы «json ошибка как исправить» и «невалидный json» чаще всего про конкретный кусок перед отправкой. Человек уже знает, что API ждёт JSON, но ответ приходит с ошибкой разбора. Formatter нужен как увеличительное стекло: сначала валидность, потом соответствие схеме API.
Отличие от учебного примера: в бою добавляют поля, вложенные объекты, массивы id, даты в разных форматах. Каждая правка руками — шанс оставить висячую запятую или забыть кавычки у ключа.
Где ломается чаще всего
Между элементами массива и после последнего поля объекта. Вложенность { } и [ ]: незакрытая скобка на строке 40 видна только после разворота. Копирование из Word и мессенджера с «умными» кавычками «» и “”.
Хвост после закрывающей скобки: лишний текст, обрезанный лог, склейка двух ответов без запятой между ними.
Чем это отличается от «просто форматировать»
JSON formatter: найти ошибку ближе к синтаксису и отступам. Здесь угол «перед API»: типы полей, обязательные ключи, даты, пустые строки против null. Оба пути сходятся в JSON formatter, но проверочный список другой.
Что можно сделать самому до вставки в formatter
Скопируйте тело целиком: от первой { или [ до последней парной скобки. Не берите префикс лога с временем и уровнем. Не оставляйте комментарии // и /* */: в JSON они запрещены.
Если текст пришёл в Base64 или в URL-кодировке, сначала декодируйте. Иначе formatter покажет мусор, а не структуру.
В редакторе кода с подсветкой JSON иногда видно проблемное место сразу. Для куска из чата или тикета быстрее вставить в formatter на Тулси.
Проверка по документации API
Откройте схему запроса: какие поля обязательны, какие типы. price как строка "100" и как число 100 — разные истории. Синтаксис может пройти, а сервер вернёт 422 из-за типа.
Сверьте имена ключей: userId и user_id не взаимозаменяемы. Регистр букв в JSON важен.
Типичные ошибки подготовки
Обрезанный хвост из лога. Два JSON подряд без массива-обёртки. Копирование с экрана терминала, где перенос строки разрезал строковое значение. Вставка CSV с расширением .json.
Невалидный JSON: синтаксис, который валит парсер
Двойные кавычки у ключей и строковых значений. Одинарные ' не подходят. Числа без кавычек. true, false, null без кавычек.
Запятая между элементами есть, после последнего элемента её нет. В старых примерах иногда встречают висячую запятую в конце массива: строгий парсер API её не примет.
Экранирование внутри строк: кавычка \", обратный слэш \\, перенос \n. Незакрытая строка ломает всё до конца файла.
Trailing comma и забытые запятые
После правки поля люди оставляют , перед } или ]. Или наоборот забывают запятую между двумя ключами. Formatter укажет строку, где парсер остановился.
В JavaScript объекте висячая запятая допустима. В JSON для API — нет. Не копируйте слепо фрагмент из фронтенд-кода.
Кавычки и спецсимволы
«Умные» кавычки из Word ломают разбор на первом ключе. Замените на ". Табуляция и неразрывный пробел внутри значения иногда незаметны: удалите или замените на обычный пробел, если API этого требует.
Ошибки смысла: синтаксис чистый, API всё равно отказывает
Пустая строка "" вместо отсутствующего поля. null там, где ждут число. Массив из одной строки вместо массива объектов.
Дата как "18.08.2026" вместо ISO 2026-08-18 или Unix-времени в миллисекундах. Документация API обычно фиксирует один формат.
Лишние поля: одни API игнорируют, другие отвечают ошибкой. Неизвестный ключ amout вместо amount пройдёт парсер, но бизнес-логика не увидит сумму.
Типы и обязательные поля
Сверьте каждое поле с примером из документации. Вложенный объект address с city и zip не заменить плоской строкой, если схема вложенная.
Числа в кавычках часто принимают, но не всегда. Булевы значения как "true" строкой ломают фильтры на сервере.
Массивы и вложенность
Один объект {} вместо массива [{}], когда API ждёт список. Пустой массив [] против отсутствия ключа: для части методов это разные семантики.
Глубокая вложенность без отступов в исходнике путает при ручной правке. Разверните в formatter и правьте по уровням.
Как проверить JSON перед отправкой на Тулси
Откройте JSON formatter. Вставьте тело запроса. Выберите «Красиво»: если синтаксис неверный, увидите сообщение об ошибке вместо результата. Исправьте строку, повторите.
Когда разбор прошёл, пройдитесь по чек-листу API: обязательные поля, типы, формат дат. Скопируйте исправленный текст обратно в Postman или в код.
Обработка идёт в браузере на вашем устройстве. Секреты и токены не отправляйте в чужие сервисы без нужды; для черновика без продакшен-ключей formatter подходит.
Что смотреть после разворота
Уровни отступов: каждая { закрыта на том же уровне. Строковые значения одной длины не слиплись. Массивы с однотипными объектами выглядят одинаково по структуре.
Сравните с рабочим примером из документации построчно, а не только «в целом похоже».
Если ошибка «в конце файла»
Часто обрезан хвост при копировании или не хватает закрывающей } / ]. Вернитесь к источнику и скопируйте снова целиком. Не дописывайте скобки наугад без понимания уровня.
Откуда берётся JSON для API и как не повторить ошибку
Экспорт из Excel или Google Таблиц через CSV в JSON: проверьте типы колонок. Числа с запятой как десятичный разделитель станут строками. Даты превратятся в то, что было в ячейке.
Генерация в коде: сериализуйте объект библиотекой, не склеивайте строки вручную. Ручная склейка "{" + key + ":" + value + "}" рано или поздно даст кавычки и запятые не там.
Логи ответов: не смешивайте тело запроса и ответ в один файл для правки. Редактируйте только то, что уйдёт на сервер.
CSV и таблицы
Перед конвертацией уберите лишние столбцы. Пустые ячейки решите: null или пропуск ключа. Подробный путь: CSV в JSON для API.
Соседние форматы
Если API принимает YAML или XML, JSON может быть промежуточным шагом. Сравнение форматов: JSON, YAML и XML. Не вставляйте YAML в поле, которое ждёт JSON.
Частые вопросы
Как исправить ошибку JSON перед отправкой в API?
Вставьте тело в JSON formatter и разверните с отступами. Найдите строку из сообщения об ошибке: запятая, кавычка, скобка. После зелёного разбора сверьте типы и имена полей с документацией API.
Что значит невалидный JSON?
Текст не соответствует правилам формата: парсер не может построить объект или массив. Частые причины: лишняя запятая, одинарные кавычки, комментарий, незакрытая строка. Исправьте синтаксис, затем проверьте смысл полей.
Почему API пишет ошибку, хотя JSON «выглядит нормально»?
Синтаксис может быть верным, а сервер ждёт другой тип, формат даты или обязательное поле. Сверьте тело с примером из документации. Отдельно проверьте кодировку и заголовок Content-Type: application/json.
Что такое trailing comma в JSON?
Запятая после последнего элемента в объекте или массиве перед закрывающей скобкой. В JavaScript её иногда разрешают, в строгом JSON для API — нет. Удалите лишнюю запятую и проверьте снова в formatter.
Можно ли писать комментарии в JSON для API?
Нет. Строки с // и /* */ ломают разбор. Вынесите пояснения в документацию или в поле description внутри схемы, если API это допускает.
Чем отличается эта статья от JSON formatter: найти ошибку?
Там фокус на синтаксисе и отступах в любом куске JSON. Здесь — чек-лист перед вызовом API: типы, обязательные ключи, даты, экспорт из таблиц. Инструмент один: JSON formatter.
Как проверить JSON из CSV перед API?
Сконвертируйте таблицу через CSV в JSON или свой скрипт, затем прогоните результат в formatter. Проверьте, что числа не в кавычках, если API ждёт number, и что даты в нужном формате.
Безопасно ли вставлять тело запроса с токеном в formatter на сайте?
На Тулси обработка идёт в браузере на вашем устройстве. Для черновиков без продакшен-секретов это удобно. Продакшен-ключи лучше править в локальном редакторе или маскировать перед вставкой.
Почему ошибка указывает на конец файла?
Часто не хватает закрывающей скобки или обрезан хвост при копировании из лога. Скопируйте исходник целиком. Не закрывайте скобки наугад: сверьте уровни после разворота.
Куда дальше: YAML, CSV, сравнение форматов?
CSV в JSON для API — путь из таблицы. JSON, YAML и XML — когда какой формат выбирать. Базовый разбор синтаксиса: JSON formatter: найти ошибку.
Рядом по смыслу: JSON formatter: найти ошибку, CSV в JSON для API и JSON, YAML и XML. Рабочая точка входа: JSON formatter.
Проверьте JSON перед запросом
Вставьте тело запроса, разверните с отступами. Ошибка синтаксиса подсветится до отправки в API.


