Книга: Технологии интеграции "1С:Предприятия 8.3""
Назад: Запись и чтение
Дальше: Проверка структуры записываемого JSON-документа

Работа со строкой JSON

Данные в формате JSON можно получать не только в виде файла, но и в виде строки. Например, при работе с HTTP-сервисами очень часто нужно работать с телом HTTP-запроса, которое представляет собой строку JSON. В таких случаях можно писать данные не в файл, а в строку. И потом подставлять эту строку в качестве тела HTTP-запроса. И, наоборот, брать строку, которая является телом HTTP-запроса, и читать из нее данные с помощью объекта ЧтениеJSON.

Для этого нужно использовать метод УстановитьСтроку() объектов ЗаписьJSON/ЧтениеJSON. После вызова этого метода для получения строки со сформированными данными JSON достаточно просто завершить запись документа методом Закрыть() объекта ЗаписьJSON (листинг 1.8).

Листинг 1.8. Запись и чтение содержимого JSON в/из строки

&НаСервереБезКонтекста

Процедура РаботаСоСтрокойНаСервере()

 

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

 

// Создать объект записи и записать строковое значение в строку JSON.

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

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

Запись.ЗаписатьЗначение("строковое значение");

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

 

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

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

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

 

// Создать объект чтения и прочитать JSON из строки.

Чтение = Новый ЧтениеJSON;

Чтение.УстановитьСтроку(СтрокаJSON);

Пока Чтение.Прочитать() Цикл

 

Если Чтение.ТипТекущегоЗначения = ТипЗначенияJSON.ИмяСвойства Тогда

Сообщение.Текст = "Имя = " + Чтение.ТекущееЗначение;

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

КонецЕсли;

 

Если Чтение.ТипТекущегоЗначения = ТипЗначенияJSON.Булево Или

Чтение.ТипТекущегоЗначения = ТипЗначенияJSON.Строка Или

Чтение.ТипТекущегоЗначения = ТипЗначенияJSON.Число Или

Чтение.ТипТекущегоЗначения = ТипЗначенияJSON.Комментарий Тогда

Сообщение.Текст = "Значение = " + Чтение.ТекущееЗначение;

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

КонецЕсли;

КонецЦикла;

 

// Завершить чтение.

Чтение.Закрыть();

 

КонецПроцедуры

Назад: Запись и чтение
Дальше: Проверка структуры записываемого JSON-документа