Skip to content
Экранирование / разэкранирование JSON
Tools

Экранирование / разэкранирование JSON

Новое

Экранируйте сырой текст в безопасную строку JSON и разэкранируйте обратно.

Options
0 input chars 0 output chars 0 output bytes

Runs entirely in your browser. Nothing is uploaded.

Экранирование и деэкранирование JSON онлайн — бесплатно, конфиденциально, мгновенно

Этот инструмент экранирования JSON преобразует любой текст в строку, безопасную для JSON, и обратно конвертирует экранированные строки в обычный текст — в обоих направлениях в одном месте, мгновенно и полностью в вашем браузере. Вставьте содержимое, выберите Экранировать или Деэкранировать и скопируйте результат. Ничего устанавливать, не нужно регистрироваться. Поскольку каждое преобразование выполняется локально, ваши данные никогда не покидают устройство — безопасно для полезных нагрузок API, токенов доступа, паролей и любого конфиденциального текста, который вы не хотели бы загружать на сервер.

Это самый быстрый способ экранировать строку JSON для полезной нагрузки API, вставить многострочный фрагмент в файл конфигурации или восстановить исходный текст из экранированного значения, найденного в журнале. Преобразование использует встроенный движок JSON браузера, а не самодельное регулярное выражение — поэтому вывод совпадает с тем, что генерирует JSON.stringify в JavaScript и что ожидает любой соответствующий спецификации парсер в Python, Go, Java и Ruby.

Что нужно экранировать в JSON — а что нет

Только небольшой набор символов имеет особое значение внутри строки JSON. Двойная кавычка " должна стать \", обратный слеш \ должен стать \\, а управляющие пробельные символы становятся \b, \f, \n, \r и \t. Любой другой управляющий символ ниже U+0020 записывается как \uXXXX. Всё остальное — буквы, цифры, одинарные кавычки, дефисы и обычные знаки препинания — проходит без изменений. Это частый источник путаницы: одинарные кавычки в JSON не нужно экранировать, поскольку строки JSON используют двойные кавычки в качестве разделителей, но никогда одинарные.

Ошибка в одном из них — причина сбоя разбора JSON. Неэкранированная двойная кавычка преждевременно завершает строку, вызывая ошибку «Unexpected token». Одиночный обратный слеш читается как начало escape-последовательности — если следующий символ не является допустимым управляющим символом, разбор завершается ошибкой. Буквальный перенос строки внутри строки просто не разрешён спецификацией. Вставьте проблемное значение в режим экранирования, и инструмент вернёт правильно экранированную версию менее чем за секунду.

Экранирование, деэкранирование, stringify — что делает каждый режим

Режим экранирования кодирует ваш текст так, чтобы он мог находиться внутри строки JSON. По умолчанию вы получаете только экранированное содержимое, готовое для вставки между собственными кавычками; включите Обернуть в кавычки и получите полное значение строки JSON в кавычках — именно то, что генерирует JSON.stringify(). Вот разница между экранированием (кодированием специальных символов) и stringify (кодированием и обёртыванием в кавычки). Оба варианта производят вывод, который примет любой стандартный парсер JSON.

Режим деэкранирования выполняет обратную операцию, интерпретируя \", \\, \n, \t и \uXXXX обратно в символы, которые они представляют. Принимает ввод с окружающими кавычками или без них и сообщает о чёткой ошибке при некорректных escape-последовательностях. Кнопка Поменять переносит вывод обратно во ввод в противоположном режиме, так что туда-обратно — это один клик.

Unicode, обратные слеши, пути Windows и HTML-безопасный вывод

JSON хранит Unicode в виде сырого UTF-8 по умолчанию, но иногда вам нужен чистый ASCII. Включите Экранировать не-ASCII (\uXXXX), и каждая буква с диакритикой или эмодзи станет последовательностью \uXXXXé станет \u00e9, а 😀 — суррогатной парой \ud83d\ude00. Это позволяет старым парсерам и файлам конфигурации только для ASCII работать корректно без потери данных.

Для путей к файлам Windows и шаблонов регулярных выражений удвоение обратных слешей выполняется автоматически: вставьте C:\Users\me и инструмент выдаст C:\\Users\\me. Для встраивания в HTML параметр Экранировать прямые слеши перезаписывает / как \/, чтобы закрывающий тег script внутри строкового значения не мог вырваться из окружающего HTML — по-прежнему действительный JSON, который разбирается идентично, но безопасен для встраивания в серверно-рендеренную страницу.

Сравнение с JSONLint, jsonformatter.org, VS Code и серверными инструментами

JSONLint проверяет, правильно ли сформирован полный документ JSON. jsonformatter.org форматирует JSON для удобства чтения. Встроенный форматтер VS Code управляет отступами и подсветкой синтаксиса, но не экранирует и не деэкранирует отдельные строковые значения. Ни один из них не закрывает брешь, которую покрывает этот инструмент: исправление одной строки, содержащей специальные символы. Используйте jsonformatter.org для форматирования; JSONLint для проверки; VS Code для работы с полным файлом; этот инструмент для исправления строковых значений, которые ломают парсеры.

Серверные инструменты экранирования JSON существуют, но имеют компромисс: ваш текст покидает устройство. Если вы работаете с ключами API, паролями, приватными настройками или пользовательскими данными, отправка этого на внешний сервер — лишний риск. Этот инструмент обрабатывает всё на стороне клиента — ничего не загружается, не регистрируется и не хранится. Работает офлайн после загрузки, поэтому можно использовать без подключения к сети. Не нужно создавать аккаунт, нет ограничений по частоте запросов, нет ограничений на размер файла.

Frequently asked questions

Что такое экранирование JSON?

Экранирование JSON заменяет символы, которые могут сломать строку JSON, escape-последовательностями с обратным слешем, чтобы текст мог безопасно находиться внутри значения JSON. Например, текст Он сказал "привет" после экранирования двойных кавычек становится Он сказал \"привет\". Экранирование никогда не меняет смысл текста — оно только кодирует символы, зарезервированные JSON.

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

Вставьте текст в поле ввода с выбранным режимом экранирования, и JSON-безопасная версия мгновенно появится в панели вывода — затем нажмите «Копировать». Инструмент автоматически экранирует двойные кавычки, обратные слеши, переносы строк, табуляции и управляющие символы. Включите «Обернуть в кавычки», если нужно полное значение строки JSON, готовое для вставки. Никаких вызовов API, никаких обращений к серверу — преобразование выполняется в браузере с помощью нативного движка JSON JavaScript.

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

Внутри строки JSON нужно экранировать двойную кавычку " как \", обратный слеш \ как \\, а также управляющие пробельные символы: забой \b, перевод страницы \f, перенос строки \n, возврат каретки \r и табуляцию \t. Любой другой управляющий символ в диапазоне U+0000–U+001F должен быть записан как \uXXXX. Прямой слеш / можно при желании экранировать как \/, но это не обязательно.

Как деэкранировать строку JSON?

Переключитесь в режим деэкранирования и вставьте экранированную строку (с окружающими кавычками или без). Инструмент преобразует каждую escape-последовательность обратно в символ, который она представляет: Строка 1\nСтрока 2 станет двумя реальными строками, а \u00e9 — é. Используйте кнопку «Поменять» для переключения между двумя режимами. Удобно, когда вы скопировали экранированную строку из журнала или ответа API.

Нужно ли экранировать одинарные кавычки в JSON?

Нет. Строки JSON всегда разделяются двойными кавычками, поэтому одинарная кавычка (апостроф) — просто обычный символ. Только двойная кавычка " и обратный слеш \ (а также управляющие символы) требуют экранирования. Это частый источник путаницы для разработчиков, пришедших из таких языков, как Python или shell-скрипты, где одинарные и двойные кавычки взаимозаменяемы.

Безопасно ли экранировать JSON онлайн?

Да. Этот инструмент работает полностью на стороне клиента — всё экранирование и деэкранирование происходит в вашем браузере с помощью JavaScript, и ничего из того, что вы вставляете, никогда не загружается, не регистрируется и не отправляется на сервер. Это делает инструмент безопасным для полезных нагрузок API, токенов, конфигураций и любого другого конфиденциального текста. Закройте вкладку — и не останется никаких следов того, что вы им пользовались.

В чём разница между экранированием и stringify?

Экранирование кодирует специальные символы внутри текста; stringify делает то же самое и дополнительно оборачивает результат в двойные кавычки, создавая полное значение строки JSON. Для текста Она сказала "привет": экранирование даёт содержимое Она сказала \"привет\", а stringify — полное значение "Она сказала \"привет\"". Переключатель «Обернуть в кавычки» переключается между двумя вариантами: выкл. — только содержимое, вкл. — полная строка в кавычках.