JSON и схемы

Экранирование символов в JSON: кавычки, обратные слэши, перенос строк и Unicode

В строках JSON обратный слэш (\) используется для представления кавычек, спецсимволов и Unicode-кодов, которые нельзя записать напрямую.

Опубликовано

Таблица экранируемых символов JSON

СимволЗначение
\"Двойная кавычка
\\Обратный слэш
\/Прямой слэш
\nПеревод строки (LF)
\rВозврат каретки (CR)
\tСимвол табуляции
\uXXXXСимвол Unicode (UTF-16 код)

Кавычки и обратные слэши

Поскольку строковые литералы в JSON всегда обрамляются двойными кавычками, любая внутренняя кавычка должна быть экранирована.

{"path": "C:\\Program Files\\App", "quote": "Он сказал: \"Да\""}

Почему возникает двойное экранирование (\\)

Если JSON сериализуется повторно как строковое поле другого объекта, все слэши удваиваются (\\\\).

Проверьте пример

Декодируйте перенос строки и кавычки

Один слой декодирования превращает видимые escape-последовательности в текстовые символы.

Hello\n\"world\"

Ожидаемый результат: Результат содержит перенос строки, после которого идёт "world".

Проверьте пример

Декодируйте Unicode-последовательность

Четыре шестнадцатеричные цифры задают кодовую единицу знака евро.

Price: \u20AC 10

Ожидаемый результат: Результат: Price: € 10.

Проверьте пример

Удалите один слой экранирования JSON

После одного явного декодирования экранированные кавычки становятся обычными.

{\"name\":\"Ada\"}

Ожидаемый результат: Одно декодирование даёт {"name":"Ada"}.

Снимите экранирование

Очистка экранированных строк

Вставьте дважды экранированную строку в JSON Unescape и мгновенно получите чистый JSON-объект.

Открыть JSON Unescape →