
Загружаются ли данные, какой размер файла работает, сохраняется ли что-то локально, почему китайский превращается в escape-последовательности: десять вопросов, разъясняющих реальные границы онлайн-инструмента JSON.
Начинающий~10 мин чтенияОбновлено 2026-10-30

Разрешены ли комментарии, почему висячая запятая даёт ошибку, нужно ли брать ключи в кавычки, почему 9007199254740993 меняется — двенадцать выводов, каждый проверен по RFC 8259.
Начинающий~12 мин чтенияОбновлено 2026-10-30

Использовать для запросов по пути JSONPath или Pointer, как выбрать между Patch и Merge Patch, что способна блокировать Schema и как выбрать версию драфта — всё объясняется за один проход.
Средний~12 мин чтенияОбновлено 2026-10-30

Почему JSON-файл в десятки мегабайт не открывается, насколько дорого глубокое клонирование, как предотвратить загрязнение __proto__ и откуда проникает XSS — десять выводов первой помощи, упорядоченных по симптому.
Средний~13 мин чтенияОбновлено 2026-10-30

Стиль именования, форматы времени, семантика null, формы перечислений, форматы конфигураций, организация фикстур и конфликты слияния — двенадцать компромиссов, о которых команды действительно спорят.
Средний~12 мин чтенияОбновлено 2026-10-30

В RFC 8259 нет синтаксиса комментариев, поэтому // и блочные комментарии заставляют JSON.parse выбрасывать ошибку. Используйте JSON5 или JSONC, поле _comment, описание Schema или YAML.
Начинающий~3 мин чтенияОбновлено 2026-10-30

Висячие запятые легальны в литералах объектов JavaScript и фатальны в JSON. Вот точная ошибка, грамматика RFC 8259, которая её вызывает, и три исправления, которые действительно работают.
Начинающий~3 мин чтенияОбновлено 2026-10-30

UTF-8 BOM — это три невидимых байта, поэтому JSON.parse падает на первом символе и сообщает строку 1, столбец 1, из-за чего файл кажется пустым или усечённым.
Начинающий~4 мин чтенияОбновлено 2026-10-30

В JSON только десятичные числовые литералы. JSON.stringify превращает NaN и Infinity в null без предупреждения, из-за чего «числовое поле иногда null» продолжает появляться в продакшене.
Начинающий~3 мин чтенияОбновлено 2026-10-30

Целые выше 2^53-1 теряют точность в JSON.parse. Snowflake ID, номера заказов и bigint из базы данных все с этим сталкиваются, поэтому храните их как строки от начала до конца.
Средний~4 мин чтенияОбновлено 2026-11-04

Escape-последовательность \u4e2d\u6587 — это легитимный Unicode, а не сбой кодировки. Настоящее искажение выглядит иначе, и различение решает, что именно нужно исправлять.
Начинающий~3 мин чтенияОбновлено 2026-10-30

Строгие надмножества по порядку: JSONC добавляет комментарии; JSON5 добавляет одинарные кавычки, ключи без кавычек, висячие запятые и шестнадцатеричные числа. Неверный выбор ломает API, а не ваш редактор.
Начинающий~4 мин чтенияОбновлено 2026-10-30

JSON разделяет скобками, а YAML — отступами: машины получают JSON, люди, редактирующие конфигурацию, получают YAML. Комментарии, якоря и много-документная структура не выживают.
Начинающий~4 мин чтенияОбновлено 2026-10-30

JSON Pointer — уникальный адрес, который можно хранить как ключ; JSONPath — язык запросов. Использование не того ломает обновления конфигурации или переизобретает сломанный JSONPath.
Средний~4 мин чтенияОбновлено 2026-10-30

Schema управляет структурой и типами, а не бизнес-смыслом. Она останавливает отсутствующие поля, неверные типы и перечисления вне диапазона, а правила вроде суммы больше нуля остаются в коде.
Средний~4 мин чтенияОбновлено 2026-10-30

2020-12 актуален и добавляет $defs, prefixItems и unevaluatedProperties, но многие инструменты всё ещё понимают только draft-07. Выбирайте по тому, что поддерживает весь ваш инструментарий.
Продвинутый~4 мин чтенияОбновлено 2026-10-30

json-schema-to-typescript и quicktype выдают .d.ts одной командой, но это черновик: опциональность, объединения, additionalProperties и даты требуют ручного прохода.
Средний~4 мин чтенияОбновлено 2026-10-30

Оптимизация в неправильном порядке делает бесполезной любую замену библиотеки. Измеряйте сеть, парсинг и отрисовку отдельно, затем сократите число парсингов, уменьшите полезную нагрузку и используйте потоковую обработку.
Средний~5 мин чтенияОбновлено 2026-10-30

JSON.parse трактует __proto__ как обычный ключ; ущерб происходит в рекурсивном слиянии, которое пишет в Object.prototype, поэтому каждый объект наследует свойства атакующего.
Продвинутый~5 мин чтенияОбновлено 2026-10-30

JSON сам по себе никогда не исполняется. XSS происходит в момент, когда вы трактуете его как HTML — конкатенация строк на сервере, innerHTML во фронтенде или встраивание JSON прямо в тег скрипта.
Средний~4 мин чтенияОбновлено 2026-10-30

Чтобы выяснить это, не нужно читать политику конфиденциальности. Откройте панель сети, попробуйте страницу офлайн и обновите её, чтобы увидеть, сохранилось ли что-то. Две минуты, три проверки, доверие не требуется.
Начинающий~3 мин чтенияОбновлено 2026-10-30

Фиксированного лимита нет; ограничение — бюджет памяти вашей вкладки. Файл в 20 МБ обычно становится 60–100 МБ после парсинга, а подсвеченный DOM может снова удвоить это.
Начинающий~3 мин чтенияОбновлено 2026-10-30

Голые объекты чисты, пока не нужны метаданные; полные оболочки безопасны, но многословны. Для большинства проектов используйте HTTP-статус для результата и стабильную оболочку для данных.
Средний~4 мин чтенияОбновлено 2026-10-30

Эпохи и ISO-строки имеют свои компромиссы, но именно их смешивание реально ломает всё. Используйте ISO 8601 со смещением, храните UTC, отображайте в часовом поясе пользователя.
Начинающий~3 мин чтенияОбновлено 2026-10-30

`null` говорит, что поле существует без значения; опускание говорит, что поля не существует. Тела PATCH, слияние конфигурации и предзаполнение форм — вот где разница кусается.
Средний~3 мин чтенияОбновлено 2026-10-30