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

от автора

JSON (JavaScript Object Notation) — это универсальный текстовый формат данных, который применяется для обмена информацией между приложениями. Многие популярные языки программирования предлагают специальные инструменты для работы с JSON. При преобразовании объекта в этот формат, текст становится легкочитаемым для человека. JSON-текст может быть просмотрен в любом текстовом редакторе.

Существует несколько вариантов сериализации и десериализации JSON в 1С:

Рисунок 1

  • Методами ЗаписатьJSON() и ПрочитатьJSON().

Данные методы глобального контекста, позволяют сериализовать значения следующих типов: Строка, Число, Булево, Дата, Массив, Структура, Соответствие.

Рисунок 2

Данные типа Дата автоматически сериализуются в JSON, но обратное преобразование (десериализация) не всегда происходит легко. JSON не содержит встроенного типа Дата, поэтому значения даты представлены в виде строк. Хотя существуют некоторые стандартные форматы для представления дат, внешний вид этих строк может быть разнообразным и не всегда однозначно интерпретируемым.

Для сериализации и десериализации даты используют функцию, которая стала доступна с версии 8.3.6.:

  • ЗаписатьДатуJSON(<Дата>,<Формат>,<ВариантЗаписиДаты>)
  • ПрочитатьДатуJSON(<Строка>, <Формат>)

Поддерживаемые форматы:

  1. ISO (ГГГГ-ММ-ДДTЧЧ:ММ:СС. Пример: “2000-01-01T00:00:00”);
  2. JavaScript (new Date(<Unix Timestamp>). Пример: “new Date(978296400000)”);
  3. Microsoft (/Date(<Unix Timestamp>)/. Пример: “/Date(978296400000)/”).

Варианты записи:

  1. Локальная дата (дата без указания часового пояса);
  2. Локальная дата со смещением (дата с указание смещения относительно всемирного координированного времени (UTC));

Универсальная дата (дата в поясе UTC).

Алексей Поляев
Младший разработчик практики 1С, компании «Сайфилд»
www.saifield.ru