Записки программиста 1с

json в 1с 8.3

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

Во-первых, JSON – это современный формат, с помощью которого прикладные решения «1С:Предприятия» могут осуществлять интеграцию со сторонними приложениями.

Во-вторых, JSON активно используется в HTTP-интерфейсах, а платформа «1С:Предприятие 8» как раз предоставляет два способа реализации таких интерфейсов – это REST-интерфейс, который автоматически формируется для всего прикладного решения, и HTTP-сервисы, которые можно создавать самостоятельно.

Существует несколько основных сценариев использования JSON:

  • Интеграция с внешними системами через их HTTP-интерфейсы: Google Calendar, Salesforce.com, REST-интерфейс «1С:Предприятия», SharePoint и т. д.
  • Организация собственного HTTP-интерфейса прикладного решения.
  • Обмен файлами JSON с внешними системами. Формирование конфигурационных, настроечных файлов. Использование их в процедурах обмена данными, например с интернет-магазинами.
  • Использование файлов JSON для обмена данными между разными приложениями «1С:Предприятия».

JSON  в 1с 8.3 – это текстовый формат, поэтому данные в формате JSON могут содержать:

  • Объект – неупорядоченное множество пар <имя свойства>:<значение>, заключенный в фигурные скобки ({}). Пары <имя свойства>:<значение> разделяются запятыми (,).
  • Массив – множество значений. Массив заключается в квадратные скобки ([]). Значения разделяются запятыми (,).
  • Значение – может быть строкой, числом, объектом, массивом или литералом truefalsenull.
    • Строка – набор символов, заключенный в двойные кавычки (“”).
    • Число – сериализуется с разделителем точка (.). Точность числа не ограничена.

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

json в 1с 8.3
Код работы с json d 1c 8.3

Запись в json 1c

Пример Записи из 1С : Предприятие 8 в json c использованием массива структур:

Массив=новый массив;
ЗаписьJSON = Новый ЗаписьJSON;
Массив=Команда1НаСервере();
ЗаписьJSON.ОткрытьФайл("C:\Temp\1\1.json",,,Новый ПараметрыЗаписиJSON(,Символы.Таб));
 ЗаписьJSON.ЗаписатьНачалоОбъекта();
	
Для каждого Элемент из Массив Цикл 
 Для Каждого КлючИЗначение Из Элемент Цикл
    ЗаписьJSON.ЗаписатьИмяСвойства(Строка(КлючИЗначение.Ключ));
    ЗаписьJSON.ЗаписатьЗначение(Строка(КлючИЗначение.Значение));
  КонецЦикла;
КонецЦикла;

ЗаписьJSON.ЗаписатьКонецОбъекта();
ЗаписьJSON.Закрыть(); 
JSONСтрока = ЗаписьJSON.Закрыть();

Запись в Json с использованием ТаблицыЗначений.

&НаСервере
Процедура ЗаписьТЗВФайл(ИмяФайла, ТЗ)
    ЗаписьJSON = Новый ЗаписьJSON;
    ЗаписьJSON.ПроверятьСтруктуру = Ложь;

    ПараметрыЗаписиJSON = Новый ПараметрыЗаписиJSON( , Символы.Таб);
    ЗаписьJSON.ОткрытьФайл(ИмяФайла, КодировкаТекста.UTF8, , ПараметрыЗаписиJSON);

    ЗаписьJSON.ЗаписатьНачалоМассива();
    
    Для Каждого Стр Из ТЗ Цикл
        ЗаписьJSON.ЗаписатьНачалоОбъекта();
        Для Каждого Колонка Из тз_.Колонки Цикл
            ЗаписьJSON.ЗаписатьИмяСвойства(СокрЛП(Колонка.Имя));
            ЗаписьJSON.ЗаписатьЗначение(СокрЛП(Стр[Колонка.Имя]));              
        КонецЦикла;
        ЗаписьJSON.ЗаписатьКонецОбъекта();
    КонецЦикла;
    ЗаписьJSON.ЗаписатьКонецМассива();
    
    ЗаписьJSON.Закрыть();
КонецПроцедуры

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *