Разработчик на Reddit представил строгий парсер JSON на Go, который полностью соответствует стандарту RFC 8259. Это имеет большое значение для систем, где неправильная интерпретация этих может привести к критическим ошибкам. Как показано в статье, большинство распространённых парсеров делают выбор в пользу совместимости, принимая некорректные данные, такие как одиночные суррогаты и дублирующиеся ключи. Это делает их ненадежными для приложений, работающих с хэшированием или цифровыми подписями, так как разные парсеры могут вести себя иначе в отношении одного и того же некорректного ввода. Новый парсер выполняет ряд проверок, включая два прохода валидации UTF-8, обработку парных суррогатов и обнаружение дублирующих ключей после декодирования. Например, ключи «a» и «\u0061» считаются одинаковыми. Также реализована проверка числового формата, которая учитывает такие случаи, как ведущие нули и переполнение/недополнение значений. В результате, парсер не пропускает ошибки и обеспечивает одноз
Разработчик создал строгий парсер JSON по стандарту RFC 8259
10 марта10 мар
1 мин