OpenReplay Logo
12k
12k

Экранирование/восстановление JSON

Экранируйте текст в строку JSON или деэкранируйте её обратно в сырой текст — обработка локальна, ничто не покидает ваш браузер.

Обрабатывается локально

Об этом инструменте

Строка JSON не может содержать определённые символы буквально: двойные кавычки, обратные косые черты и управляющие символы, такие как переводы строк и табуляции, должны быть записаны в виде управляющих последовательностей (\", \\, \n, \t), а любой символ может быть выражен как кодовая единица \uXXXX. Этот инструмент экранирует сырой текст в корректное содержимое строки JSON (на основе JSON.stringify, поэтому вывод соответствует спецификации) и обращает процесс с помощью JSON.parse, принимая экранированную строку с окружающими двойными кавычками или без них.

Используйте инструмент, чтобы вручную встроить многострочный текст, пути к файлам или фрагменты кода внутрь полезной нагрузки JSON, чтобы проверить, что на самом деле содержит API или строка журнала после разрешения экранирования, или чтобы отладить ошибки «invalid JSON», вызванные неэкранированной кавычкой или случайной обратной косой чертой. Включите «Wrap in quotes», чтобы получить полный строковый литерал, который можно вставить прямо в документ JSON, или только внутреннее содержимое, когда вам нужно лишь тело.

Экранирование меняет то, как текст представлен в JSON, а не его смысл — это не шифрование и не очистка, и декодированное значение идентично оригиналу.

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

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

Двойные кавычки (") и обратные косые черты (\) должны экранироваться всегда, наряду с управляющими символами: перевод строки становится \n, табуляция \t, возврат каретки \r, плюс \b, \f и \x00–\x1f для прочих управляющих кодов. Любой символ также может быть записан как экранирование \uXXXX.

Могу ли я деэкранировать строку JSON без окружающих кавычек?

Да. Этот инструмент принимает обе формы — полный литерал вроде "a\nb" или только внутреннее содержимое a\nb. Отсутствующие кавычки добавляются автоматически перед разбором, так что работает любая вставка.

Почему моя строка JSON не деэкранируется?

Наиболее частые причины — неэкранированная двойная кавычка внутри значения, висящая обратная косая черта в конце или неполная последовательность \u (меньше четырёх шестнадцатеричных цифр). Инструмент сообщает конкретную ошибку разбора, чтобы вы могли найти неправильный символ.