JSON, HTML, URL и Base64 решают разные задачи представления. Корректная строка одной грамматики может оставаться сломанной или небезопасной в другой, даже если содержит много escape-последовательностей.

Учитывайте целевой синтаксический анализатор

Используйте экранирование JSON только когда текст становится одной строкой JSON. Для текста в синтаксисе HTML нужны символьные ссылки HTML, для компонентов URL — процентное кодирование по правилам URL, а Base64 нужен для представления байтов текстовым алфавитом. Эти преобразования не взаимозаменяемы: обратный слеш JSON ничего не защищает для анализатора HTML, а знак процента не заменяет правила кавычек JSON.

Кодирование не означает доверие

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

Проверьте назначение и число слоёв

Сверяйте результат с контрактами источника и назначения. Экранирование защищает только грамматику одной строки JSON и не санитизирует HTML, SQL, JavaScript, командную оболочку или другой синтаксический анализатор. Снимайте по одному проверенному слою, отклоняйте повреждённый Unicode и сохраняйте известный тестовый пример для важных интеграций.