Каталог решений - Формирование строки json в 1С: 7.7

Формирование строки json в 1С: 7.7

Формирование строки json в 1С: 7.7

В наличии

Предлагается набор функций 1с 7.7 для формирования строки json стандартными средствами.

Категория:

Описание

Формирование строки json сводится к использованию 5 функций

НовыйОбъект()

ДобавитьВОбъект()

НовыйМассив()

ДобавитьВМассив()

Value()

и финальной функции

СформироватьСтрокуJSON_OBJECT()


// Пример формирования строки json. Взят из  https://jsonformatter.org/
Процедура Сформировать()

	Tom = НовыйОбъект();
	ДобавитьВОбъект(Tom,"id",Value("Строка","1"));
	ДобавитьВОбъект(Tom,"firstname",Value("Строка","Tom"));
	ДобавитьВОбъект(Tom,"lastname",Value("Строка","Cruise"));
	ДобавитьВОбъект(Tom,"photo",Value("Строка","https://jsonformatter.org/img/tom-cruise.jpg"));

	Maria = НовыйОбъект();
	ДобавитьВОбъект(Maria,"id",Value("Строка","2"));
	ДобавитьВОбъект(Maria,"firstname",Value("Строка","Maria"));
	ДобавитьВОбъект(Maria,"lastname",Value("Строка","Sharapova"));
	ДобавитьВОбъект(Maria,"photo",Value("Строка","https://jsonformatter.org/img/Maria-Sharapova.jpg"));
   
	Robert = НовыйОбъект();
	ДобавитьВОбъект(Robert,"id",Value("Строка","3"));
	ДобавитьВОбъект(Robert,"firstname",Value("Строка","Robert"));
	ДобавитьВОбъект(Robert,"lastname",Value("Строка","Downey Jr."));
	ДобавитьВОбъект(Robert,"photo",Value("Строка","https://jsonformatter.org/img/Robert-Downey-Jr.jpg"));

	
	employee_array = НовыйМассив();
	ДобавитьВМассив(employee_array,Value("Object",Tom));
	ДобавитьВМассив(employee_array,Value("Object",Maria)); 
	ДобавитьВМассив(employee_array,Value("Object",Robert)); 
	
	employee = НовыйОбъект();
	ДобавитьВОбъект(employee,"employee:",Value("Array",employee_array));
	
	employees = НовыйОбъект();
	ДобавитьВОбъект(employees,"employees:",Value("Object",employee));   
	
	Результат = СформироватьСтрокуJSON_OBJECT(employees) ;   // Само формирование строки json
	
	Результат = ПреобразоватьСтрокуВУТФ8(Результат );	    // Взято из //sale.itcity.ru/public/18816/
	
	json_file = СоздатьОбъект("Текст");
	json_file.ДобавитьСтроку(Результат);   
	
	ИмяФайла = "Sample" ;
	Путь = "";
	
	Если ФС.ВыбратьФайл(1,ИмяФайла,Путь,"Сохранить в файле","Файлы json (*.json)|*.json","json",)=1 Тогда
		json_file.Записать(Путь+ИмяФайла );
	КонецЕсли;
КонецПроцедуры                                        


//Ещё один пример обхода справочника Сотрудники 
// Будет работать, если такой справочник  и реквизиты Должность и ДатаРождения есть в конфигурации

Процедура Выполнить()
	СпрСотр = СоздатьОбъект("Справочник.Сотрудники"); 
	// Формируем Object и сохраняем в Таблице значений
	ТЗ =СоздатьОбъект("ТаблицаЗначений");
	ТЗ.НоваяКолонка("Obj");
	СпрСотр.ВыбратьЭлементы();
	Пока СпрСотр.ПолучитьЭлемент() = 1 Цикл
		Если СпрСотр.ЭтоГруппа() = 0 Тогда
			ТЗ.НоваяСтрока();    
			ТЗ.Obj = НовыйОбъект();
			ДобавитьВОбъект(ТЗ.Obj,"ТабN",Value("Число",СпрСотр.Код,"Ч4"));
			ДобавитьВОбъект(ТЗ.Obj,"ФИО",Value("Строка",СпрСотр.Наименование));
			ДобавитьВОбъект(ТЗ.Obj,"Должность",Value("Строка",СпрСотр.Должность.Получить(ТекущаяДата())));
			ДобавитьВОбъект(ТЗ.Obj,"ДатаРождения",Value("Дата",СпрСотр.ДатаРождения,"ДДДММГГ"));
		КонецЕсли; 		
	КонецЦикла;
	// Формируем Массив из Таблицы значений
	ТЗ_Array = НовыйМассив();
	ТЗ.ВыбратьСтроки();
	Пока ТЗ.ПолучитьСтроку() = 1 Цикл
		ДобавитьВМассив(ТЗ_Array,Value("Object",ТЗ.Obj));
	КонецЦикла;
	
	// Массив в Объект
	СотрудникиJson = НовыйОбъект();
	ДобавитьВОбъект(СотрудникиJson,"Сотрудники",Value("Array",ТЗ_Array));
	
	Результат = СформироватьСтрокуJSON_OBJECT(СотрудникиJson) ;   // Само формирование строки json
	
	Результат = ПреобразоватьСтрокуВУТФ8(Результат );	    // Взято из //sale.itcity.ru/public/18816/
	
	json_file = СоздатьОбъект("Текст");
	json_file.ДобавитьСтроку(Результат);   
	
	ИмяФайла = "Сотрудники" ;
	Путь = "";
	
	Если ФС.ВыбратьФайл(1,ИмяФайла,Путь,"Сохранить в файле","Файлы json (*.json)|*.json","json",)=1 Тогда
		json_file.Записать(Путь+ИмяФайла );
	КонецЕсли;
КонецПроцедуры

Номер релиза 7.70.027.

has been added to your cart:
Оформление заказа