Если Свойство = "dt" ИЛИ Свойство = "sunrise" ИЛИ Свойство = "sunset" Тогда
Если Не ПустаяСтрока(Значение) Тогда
Возврат ПрочитатьДатуJSON("new Date("+Формат(Значение, "ЧГ=")+")", ФорматДатыJSON.JavaScript);
Иначе
Возврат Дата(1,1,1);
КонецЕсли
КонецЕсли;
Ctrl+F1 в конфигураторе "ПрочитатьJSON" выдает следующее:
<ИменаСвойствСоЗначениямиДата> (необязательный)
Тип: Массив, Строка, ФиксированныйМассив.
Массив, элементы которого содержат имена свойств JSON, для которых нужно вызывать восстановление даты из строки.
Если имя свойства указано в этом параметре и указано в параметре ИменаСвойствДляОбработкиВосстановления, то для таких свойств восстановление осуществляется в функции восстановления.
Если восстановление даты из значения свойства невозможно, то будет сгенерировано исключение.
Значение по умолчанию: Неопределено.
Хорошей заменой постобработки, в этом случае, является использование функции восстановления. Для применения функции восстановления необходимо описать саму функцию и несколько изменить само чтение документа:
Функция ФункцияВосстановленияЧтения(Свойство, Значение, ДополнительныеПараметры) Экспорт
Если Свойство = "dt" ИЛИ Свойство = "sunrise" ИЛИ Свойство = "sunset" Тогда
Возврат ПрочитатьДатуJSON("new Date("+Формат(Значение, "ЧГ=")+")", ФорматДатыJSON.JavaScript);
КонецЕсли;
Если Свойство = "pressure" Тогда
Возврат Значение*0.75;
КонецЕсли;
Если Свойство = "temp" Тогда
Возврат Значение-273.15;
КонецЕсли;
Если Свойство = "speed" Тогда
Возврат Значение*1.61;
КонецЕсли;
КонецФункции
&НаСервере
Процедура ЧтениеНаСервере()
Чтение = Новый ЧтениеJSON;
Чтение.ОткрытьФайл("c:\temp\weather.json");
Данные = ПрочитатьJSON(Чтение, Ложь, , , "ФункцияВосстановленияЧтения", ЭтотОбъект);
Чтение.Закрыть();
КонецПроцедуры
Функция ФункцияВосстановленияЧтения(Свойство, Значение, ДополнительныеПараметры) Экспорт
Если Свойство = "closedDate" Тогда
Результат = Дата(1,1,1);
Если ЗначениеЗаполнено(Значение) Тогда
Результат = ПрочитатьДатуJSON(Значение);
КонецЕсли;
Возврат Результат;
КонецЕсли;
КонецФункции
Ctrl+F1 в конфигураторе "ПрочитатьJSON" выдает следующее:
<ИменаСвойствСоЗначениямиДата> (необязательный)
Тип: Массив, Строка, ФиксированныйМассив.
Массив, элементы которого содержат имена свойств JSON, для которых нужно вызывать восстановление даты из строки.
Если имя свойства указано в этом параметре и указано в параметре ИменаСвойствДляОбработкиВосстановления, то для таких свойств восстановление осуществляется в функции восстановления.
Если восстановление даты из значения свойства невозможно, то будет сгенерировано исключение.
Значение по умолчанию: Неопределено.
(13)именно, что в случае если в значение есть дата, то она преобразуется, а может быть такое, что в значение нет даты и тип "неопределено", в этом случае программа вылетает с ошибкой. Я пытаюсь этот момент как-то обойти
Если Свойство = "dt" ИЛИ Свойство = "sunrise" ИЛИ Свойство = "sunset" Тогда
Если Не ПустаяСтрока(Значение) Тогда
Возврат ПрочитатьДатуJSON("new Date("+Формат(Значение, "ЧГ=")+")", ФорматДатыJSON.JavaScript);
Иначе
Возврат Дата(1,1,1);
КонецЕсли
КонецЕсли;