Инструменты
RU

Экранирование и снятие экранирования JSON

Превратите любой текст в валидную строку JSON — кавычки, обратные слеши, переносы строк и табуляция экранируются автоматически — или раскодируйте экранированную строку обратно в читаемый текст. Ещё два режима превращают JSON-документ в строку и разбирают её обратно.

Конфиденциально: ваши данные обрабатываются в браузере и никуда не загружаются.

Как экранировать строку для JSON

  1. Выберите режим: Экранировать, Снять экранирование, JSON в строку или Строку в JSON.
  2. Введите или вставьте исходные данные — результат появится сразу. При экранировании решите, добавлять ли обрамляющие кавычки и записывать ли не-ASCII символы как \uXXXX.
  3. Скопируйте результат или нажмите Поменять местами, чтобы выполнить обратную операцию и убедиться, что данные вернулись без изменений.

Escape-последовательности в JSON

СимволВ экранированном виде
Двойная кавычка "\"
Обратный слеш \\\
Перевод строки (новая строка)\n
Возврат каретки\r
Табуляция\t
Возврат на символ (backspace), перевод страницы (form feed)\b, \f
Прочие управляющие символы U+0000–U+001F\u0000 … \u001f
Любой символ (по желанию)\uXXXX, например é → \u00e9, 😀 → \ud83d\ude00
Слеш / (по желанию)\/

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

JSON в виде строки (stringified JSON)

Stringified JSON — это JSON-документ, сохранённый внутри строки JSON: например, поле API вроде "payload": "{\"id\":7}" или JSON, записанный в столбец базы данных, переменную окружения или строку лога. JSON в строку создаёт такую строку из документа; Строку в JSON разворачивает её — даже если она была упакована дважды — и форматирует результат.

Часто задаваемые вопросы

Какие символы нужно экранировать в JSON?

Только двойную кавычку, обратный слеш и управляющие символы от U+0000 до U+001F, например переносы строк и табуляцию. Всё остальное — включая é, 中 и эмодзи — может встречаться в JSON в кодировке UTF-8 как есть.

Почему я вижу \u0416 вместо буквы «Ж»?

Некоторые программы записывают каждый не-ASCII символ — в том числе кириллицу — как escape-последовательность \uXXXX. Обе формы означают одно и то же; режим «Снять экранирование» превращает такие последовательности обратно в читаемый текст.

Чем экранирование отличается от stringify?

Экранирование превращает любой текст в строковый литерал JSON. Stringify сначала проверяет, что на входе валидный JSON, минифицирует его и только потом экранирует, поэтому в результате получается строка, содержащая JSON-документ.

Можно ли снять экранирование со строки без внешних кавычек?

Да. Вставляйте содержимое как с обрамляющими кавычками, так и без них; случайные неэкранированные кавычки и настоящие переносы строк тоже допускаются.