igrishaev / 1c-json

JSON-сериализация в 1С

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

JSON-сериализация в 1С

Функция для сериализации произвольных объектов в формат 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
    },
    { ... }
  ]
}

About

JSON-сериализация в 1С