DevTools

Валидатор JSON

Используйте Валидатор JSON в Ali Hub DevTools с понятной проверкой, результатами, сведениями о конфиденциальности и документированными ограничениями.

Основные данные

Хранилище используется только тогда, когда инструмент явно описывает локальные, версионированные, ограниченные, удаляемые и нечувствительные данные браузера.

Установить этот инструмент

Добавьте инструмент на устройство для быстрого доступа.

Валидатор JSON

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

Проверьте JSON перед использованием

Одна пропущенная кавычка, запятая или скобка может остановить API, конфигурацию или этап сборки. Этот валидатор пытается прочитать исходный текст как JSON и помогает отделить синтаксическую ошибку от последующих проверок приложения.

Здесь проверка означает попытку разобрать переданный текст как одно JSON-значение. Успешный разбор показывает только то, что структура принята как JSON. Он не подтверждает обязательные поля, бизнес-правила или соответствие JSON Schema.

Когда payload проходит между сервисами, ранняя проверка синтаксиса сужает область поиска при отладке. Сначала проверьте кавычки, запятые, escape-последовательности и вложенность, а затем применяйте правила конкретного проекта.

Страница подходит для request body, fixture, экспортированных настроек и фрагментов конфигурации. Удалите секреты, пароли и персональные данные из тестовой копии и соблюдайте правила приватности своей организации.

Синтаксис не равен смыслу данных

Стандартный JSON содержит object, array, string, number, true, false и null. Имена свойств и строки заключаются в двойные кавычки, элементы разделяются запятыми, а скобки закрываются в правильном порядке. Комментарии и trailing comma не входят в стандартную грамматику JSON.

Вопрос валидатора ограничен: можно ли разобрать source как одно JSON-значение? Он не исправляет source, не запускает код, не вызывает API и не решает, полезно ли значение для приложения. Проверки схемы и домена выполняйте отдельно.

Пробелы обычно допустимы для читаемости, но символы внутри строки являются данными. Проверяйте escape-последовательности, переносы строк, Unicode и кодировку тем же parser, который используется в production.

Валидный JSON-документ не делает автоматически валидным transport. Content type, HTTP-заголовки, аутентификация, сжатие, размер и кодировка относятся к другим уровням.

Как проверить JSON

  1. Вставьте в source field одно полное JSON-значение. Удалите comment, code fence и оболочку языка программирования из тестовой копии.
  2. Запустите валидатор и прочитайте status и diagnostic. Проверьте символы до и после указанного места: настоящая ошибка часто расположена немного раньше marker.
  3. При отказе проверьте кавычки, запятые, скобки, escape и вложенность. Большой документ можно временно разделить на небольшие части, а затем повторить проверку исправленной версии.
  4. После успешного синтаксиса запустите проверки schema, типов, обязательных полей, диапазонов, permissions и бизнес-правил проекта.
  5. Храните исходный payload и redacted-копию отдельно. Не публикуйте secret в скриншотах, примерах или URL.
  6. Проверьте результат тем же parser и encoding, которые использует реальный consumer. Разные языки могут по-разному обрабатывать duplicate key и точность чисел.

Метод проверки

  • Чтение грамматики

    Валидатор пытается разобрать весь source как одно JSON-значение, применяя правила token, quote, delimiter и nesting.

  • Сообщение результата

    Valid означает, что разбор завершился. Failure означает, что source не соответствует синтаксису, который понимает инструмент.

  • Разделение следующих проверок

    Schema, range, permission и domain являются семантическими проверками. Для них нужны отдельные правила и evidence.

Не придумывайте точный номер строки или текст ошибки, если инструмент его не документирует. При необходимости повторите тест в production runtime.

Как читать результат

Valid означает, что text принят как синтаксис JSON. Затем проверьте values и запустите schema или application validation.

Invalid означает, что parsing остановился. Смотрите на символы до и после указанного места, а не только на marker.

Если syntax valid, но request не проходит, проверьте content type, endpoint, authentication, schema и бизнес-правила. Syntax success не равен network success.

Если сообщение общее, уменьшите input и найдите failing section. Изменение результата после добавления одного property является подсказкой для расследования, а не универсальной политикой parser.

Распространённые ошибки

Частая ошибка — вставить JavaScript с single quote, comment или trailing comma. Преобразуйте его в стандартный JSON.

Valid result часто принимают за schema validation. Required fields, ranges и permissions проверяйте отдельным инструментом.

Исправление символа прямо на marker не всегда помогает: пропущенная quote или comma может находиться раньше.

Не смешивайте JSON с Python dictionary, YAML или JavaScript object. Используйте документированную JSON grammar.

Clipboard может добавить smart quote или скрытый control character. При расхождении результатов покажите source в plain text editor.

Ограничения

Документированный input — одно JSON text field. Это не доказывает поддержку JSON Schema, business rules, обработки файлов или всех edge case parser.

Duplicate key, очень большие числа, размер документа и encoding при необходимости тестируйте отдельно. Политика зависит от конкретной library.

Checker не делает вредный payload безопасным. На server нужны лимиты размера и вложенности, ограничения ресурсов и security review.

Зафиксируйте runtime, версию library и production error policy; общий результат страницы не заменяет это evidence.

Examples

Простой object принят

Является ли базовый object валидным JSON?

Отправьте полный object.

Имя в кавычках, строка и boolean образуют допустимую структуру object.

Имя без кавычек отклонено

Почему имя свойства без кавычек недопустимо?

Отправьте source и прочитайте failure.

В стандартном JSON имя member должно быть строкой в двойных кавычках.

Вложенные данные приняты

Может ли array содержать objects?

Отправьте вложенное значение как один документ.

Array, objects, numbers, запятые и скобки образуют допустимую структуру.

Trailing comma отклонена

Что происходит после запятой у последнего member?

Отправьте object с trailing comma.

Стандартный JSON не разрешает trailing comma. Удалите её и проверьте документ снова.

Значение null

Является ли null допустимым JSON value?

Отправьте object и прочитайте status.

null является стандартным JSON value. Его смысл для приложения задаётся отдельным контрактом.

Пропущена скобка

Почему каждую открывающую скобку нужно закрывать?

Отправьте несбалансированную структуру.

Array открыт через [, но не закрыт через ]. Исправьте nesting перед использованием данных.

Frequently asked questions

Означает ли valid JSON, что данные валидны для приложения?

Нет. Это означает только, что text можно разобрать. Обязательные поля, типы, диапазоны, status и бизнес-правила проверяются отдельно.

Исправляет ли validator source?

Используйте его как checker. Исправьте source самостоятельно, сохраните diff и повторно отправьте проверенную копию.

Разрешены ли comments?

В стандартном JSON — нет. Храните comments в исходном формате, а на build step создавайте strict JSON и проверяйте его.

Почему отклоняются single quotes?

Стандартные имена и строки JSON используют double quote. Для преобразования JavaScript object безопаснее применять serializer JSON.

Проверяет ли инструмент JSON Schema?

Нет. Запустите schema validator с нужной schema и draft version, а результат запишите отдельно от syntax result.

Может ли верхнеуровневым value быть array?

JSON допускает array как top-level value. Однако конкретный endpoint может требовать object, поэтому контракт endpoint нужно тестировать отдельно.

Всегда ли duplicate key отклоняется?

Единой политики нет. Parser может оставить первое, последнее значение или сообщить ошибку. Избегайте duplicate name и тестируйте реальный consumer.

Что делать после успешной проверки?

Запустите schema, permission, range и integration tests. Проверьте content type, encoding, размер, timeout и logging, затем используйте redacted payload в staging.

References