Преобразование даты json в 1с
Нужно чтобы дата в файле json читалась в 1с
Как сделать то ли преобразование даты в строку, то ли чтобы она читалась
&НаСервере
Процедура ПрочитатьФайл_JSON_Последовательно()
Объект.СписокЛюдей.Очистить();
СоответствиеПолей = Новый Соответствие;
СоответствиеПолей.Вставить("family", "Фамилия");
СоответствиеПолей.Вставить("name", "Имя");
СоответствиеПолей.Вставить("surname", "Отчество");
СоответствиеПолей.Вставить("date_of_birth", "ДатаРождения");
ЧтениеJSON = Новый ЧтениеJSON();
ЧтениеJSON.ОткрытьФайл(Объект.ПутьКФайлу);
ИмяТекущегоСвойства = "";
Пока ЧтениеJSON.Прочитать() Цикл
ТипJSON = ЧтениеJSON.ТипТекущегоЗначения;
Если ТипJSON = ТипЗначенияJSON.НачалоОбъекта Тогда
СтрокаТЧ = Объект.СписокЛюдей.Добавить();
ИначеЕсли ТипJSON = ТипЗначенияJSON.ИмяСвойства Тогда
ИмяТекущегоСвойства = ЧтениеJSON.ТекущееЗначение;
ИначеЕсли ТипJSON = ТипЗначенияJSON.Строка ИЛИ ТипJSON = ТипЗначенияJSON.Число
ИЛИ ТипJSON = ТипЗначенияJSON.Булево ИЛИ ТипJSON = ТипЗначенияJSON.Null Тогда
ИмяРеквизитаТЧ = СоответствиеПолей.Получить(ИмяТекущегоСвойства);
Если ИмяРеквизитаТЧ <> Неопределено Тогда
Если ИмяТекущегоСвойства = "date_of_birth" Тогда
СтрокаТЧ[ИмяРеквизитаТЧ] = Формат(ЧтениеJSON.ТекущееЗначение,"ДЛФ=D" );
КонецЕсли;
СтрокаТЧ[ИмяРеквизитаТЧ] = ЧтениеJSON.ТекущееЗначение;
КонецЕсли;
КонецЕсли;
КонецЦикла;
ЧтениеJSON.Закрыть();
КонецПроцедуры
Ответы (1 шт):
Автор решения: Sagittarius
→ Ссылка
Вместо последовательного чтения гораздо удобнее сразу конвертировать данные методом "ПрочитатьJSON()". Третьим параметром указывается список свойств, содержащих дату, чтобы она была конвертирована в формат 1С.
&НаСервере
Процедура ПрочитатьФайл_JSON()
Объект.СписокЛюдей.Очистить();
ЧтениеJSON = Новый ЧтениеJSON();
ЧтениеJSON.ОткрытьФайл(Объект.ПутьКФайлу);
Данные = ПрочитатьJSON(ЧтениеJSON, Ложь, "date_of_birth");
ЧтениеJSON.Закрыть();
Для каждого Элемент Из Данные Цикл
НоваяСтрока = Объект.СписокЛюдей.Добавить();
НоваяСтрока.Фамилия = Элемент.family;
НоваяСтрока.Имя = Элемент.name;
НоваяСтрока.Отчество = Элемент.surname;
НоваяСтрока.ДатаРождения = Элемент.date_of_birth;
КонецЦикла;
КонецПроцедуры