Границы грамматики JSON по RFC 8259
Переводим грамматические продукции RFC 8259 на человеческий язык: какие символы можно писать напрямую, какие нужно экранировать и где спецификация намеренно оставляет свободу.
От RFC 8259 и ECMA-404 к грамматике, типам, кодировке и границам разбора JSON — фундамент, на котором держится любая работа с JSON.
Статей: 6Переводим грамматические продукции RFC 8259 на человеческий язык: какие символы можно писать напрямую, какие нужно экранировать и где спецификация намеренно оставляет свободу.
В JSON всего шесть типов, но каждый из них способен незаметно изменить ваши данные. Эта статья за один проход разбирает ловушки чисел, строк и null.
Превратите ошибку JSON.parse в номер строки и символа, а затем исключите шесть причин: завершающие запятые, одинарные кавычки, комментарии, управляющие символы, BOM и обрыв данных.
От кракозябр в «Блокноте» до трёх способов открыть JSON-файл, а также как убедиться, что после правки ничего не сломалось, и что делать, если огромный файл не открывается.
Найдите причину по точному сообщению JSON.parse: 12 частых ошибок в Chrome, Firefox и Safari, включая HTML-страницы ошибок, обрыв данных и двойной разбор.
Минифицированный JSON-файл на 4 МБ в одну строку сообщает «строка 1, столбец 23611», что ничего не говорит. На локально измеренных примерах разбираем, почему Python, Node и jq дают три разных числа, как смещение символа приводит прямо к сломанному байту и какие три ловушки тихо портят данные после исправления синтаксиса.