Книга: Технологии интеграции "1С:Предприятия 8.3""
Назад: Символы отступа
Дальше: Сериализация коллекций значений (объектная техника)
Экранирование символов

Внешние системы могут использовать разные нотации JSON, могут считать те или иные символы недопустимыми и так далее. Для этих целей у конструктора ПараметрыЗаписиJSON и у самого объекта есть возможность управлять экранированием таких символов, как амперсанд, одинарные кавычки, разделители строк, слеш и угловые скобки. Кроме того, есть возможность для строковых значений использовать одинарные кавычки вместо двойных.

Например, прямой слеш при записи в JSON не экранируется по умолчанию (листинг 1.15).

Листинг 1.15. Запись строки JSON без экранирования символов

Сообщение = Новый СообщениеПользователю;

 

// Записать строковое значение в JSON.

Запись = Новый ЗаписьJSON;

Запись.УстановитьСтроку();

Запись.ЗаписатьЗначение("путь к файлу C:/файл.txt");

СтрокаJSON = Запись.Закрыть();

 

// Показать результат.

Сообщение.Текст = СтрокаJSON;

Сообщение.Сообщить();

В результате выполнения приведенного выше фрагмента кода будет получена следующая строка (листинг 1.16).

Листинг 1.16. Результирующая строка без экранирования слеша

"путь к файлу C:/файл.txt"

Однако эту возможность можно включить (листинг 1.17).

Листинг 1.17. Запись строки JSON с экранированием символов

Сообщение = Новый СообщениеПользователю;

ПараметрыJSON = Новый ПараметрыЗаписиJSON( , , , , , , , ,Истина);

 

// Записать строковое значение в JSON.

Запись = Новый ЗаписьJSON;

Запись.УстановитьСтроку(ПараметрыJSON);

Запись.ЗаписатьЗначение("путь к файлу C:/файл.txt");

СтрокаJSON = Запись.Закрыть();

 

// Показать результат.

Сообщение.Текст = СтрокаJSON;

Сообщение.Сообщить();

В результате выполнения приведенного выше фрагмента кода будет получена следующая строка (листинг 1.18).

Листинг 1.18. Результирующая строка с экранированием слеша

"путь к файлу C:\/файл.txt"

Назад: Символы отступа
Дальше: Сериализация коллекций значений (объектная техника)