Функция для сериализации произвольных объектов в формат JSON. Не требует зависимых модулей. Может быть вставлена в любое место конфигурации. Поддерживает типы:
- числа
- строки
- дата и время
- булево
- массив
- структуры
- соответствия
- таблица и дерево значений
- выборка из запроса
- неопределено, NULL
- ссылка на справочник
- ссылка на документ
Служебные символы вроде переноса строки или табуляции экранируются.
Функция отлично работает в связке с веб-сервисами. Становится возможным передавать данные из 1С в систему, написаную на любом языке: Питон, Руби, ПХП.
Примеры:
Запрос = новый Запрос(
"ВЫБРАТЬ ПЕРВЫЕ 5
| Договоры.Код,
| Договоры.Ссылка,
| Договоры.ДатаЗаключения,
| Договоры.Комментарий,
| Договоры.Предопределенный
|ИЗ
| Справочник.Договоры КАК Договоры"
);
с = новый Структура("foo, bar, baz, tab", 1, "Привет!", ТекущаяДата(), Запрос.Выполнить().Выгрузить());
Сообщить(json(с));
{
"foo": 1, "bar": "Привет!", "baz": "2012-11-09T10.50.29", "tab": [
{ "Код": "ВСООЦ0050133", "Ссылка": "ВСООЦ0050133", "ДатаЗаключения": "2012-09-14T12.00.00",
"Комментарий": "", "Предопределенный": false
},
{ ... }
]
}