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-объект.