Всех приветствую!
Прилагаю несколько функций, которые могут пригодиться другим разработчикам 1С для разбора JSON-объектов и конвертации их в соответствующие структуры:
1. Создаем объект ЧтениеJSON на основе текста объекта:
Функция фПрочитатьJSON(ТекстJSON) Экспорт
	Чтение = Новый ЧтениеJSON;
	Чтение.УстановитьСтроку(ТекстJSON);
	Структура = ЗаполнитьСтруктуруИзОтветаJSON(Чтение);	
	Чтение.Закрыть();
	Возврат Структура;
КонецФункции
2. Рекурсивная процедура для возврата объекта типа Структура
Функция ЗаполнитьСтруктуруИзОтветаJSON(Знач Чтение) Экспорт
	Результат = Новый Структура;
	ПоследнееИмяРеквизита = Неопределено;
	
	Пока Чтение.Прочитать() Цикл
		Тип = Чтение.ТипТекущегоЗначения;
		Если Тип = ТипЗначенияJSON.НачалоОбъекта И ПоследнееИмяРеквизита<>Неопределено Тогда 
			Результат[ПоследнееИмяРеквизита] = ЗаполнитьСтруктуруИзОтветаJSON(Чтение);
		ИначеЕсли Тип = ТипЗначенияJSON.КонецОбъекта Тогда 
			Возврат Результат;
			ПоследнееИмяРеквизита = Неопределено;
		ИначеЕсли Тип = ТипЗначенияJSON.ИмяСвойства Тогда 
			Результат.Вставить(Чтение.ТекущееЗначение, Неопределено);
			ПоследнееИмяРеквизита = Чтение.ТекущееЗначение;
		ИначеЕсли Тип = ТипЗначенияJSON.Булево или Тип = ТипЗначенияJSON.Строка
			или Тип = ТипЗначенияJSON.Число или Тип = ТипЗначенияJSON.Null Тогда 
			Результат[ПоследнееИмяРеквизита] = Чтение.ТекущееЗначение;
		ИначеЕсли Тип = ТипЗначенияJSON.НачалоМассива Тогда 
			Результат[ПоследнееИмяРеквизита] = ЗаполнитьМассивИзОтветаJSON(Чтение);
		КонецЕсли;
	КонецЦикла;  
		
	Возврат Результат;
КонецФункции 
3. В случае использования массивов в JSON-объекте используем третью процедуру
Функция ЗаполнитьМассивИзОтветаJSON(Знач Чтение)
	Результат = Новый Массив;
	
	Пока Чтение.Прочитать() Цикл
		Тип = Чтение.ТипТекущегоЗначения;
		Если Тип = ТипЗначенияJSON.НачалоОбъекта Тогда 
			Результат.Добавить(ЗаполнитьСтруктуруИзОтветаJSON(Чтение));
		ИначеЕсли Тип = ТипЗначенияJSON.КонецМассива Тогда 
			Возврат Результат;
		КонецЕсли;
	КонецЦикла;  
	
	Возврат Результат;
КонецФункции
Вот и все! Всем хорошего времени суток!
ТОП-5 ИНСТРУМЕНТОВ ДЛЯ РАЗРАБОТЧИКА 1С
Подборка лучших инструментов для разработчика 1С включает Toolkit, DCT, OneDebugger, PrintWizard, DataFormWizard — и доступна со скидкой 20% при покупке от двух решений.
Вступайте в нашу телеграмм-группу Инфостарт
 
                                     
 