1С и JSON. Разбираемся с исключением
Рубрика: 1С:Предприятие -> Программирование
Метки: 1С:Предприятие | полезности | программирование | советы
Просмотров: 11992
В платформе 8.3 появились нативные средства для работы с форматом JSON. Нет никакой необходимости использовать сторонние решения, если нативные инструменты работают быстрей и лучше. Мы много, где используем формат JSON и вот случайно столкнулись с небольшой проблемой. Итак, условие. Есть большой файл в формате JSON, который требуется конвертнуть в структуру. Для этого в платформе есть глобальный метод: «ПрочитатьJSON()».
У него много параметров, но в большинстве случае разработчику интересны 1-й (менеджер чтения JSON) и 3-й ИменаСвойствСоЗначениямиДата
(Строка, Массив, ФикированныйМассив). С первым все понятно, а вот третий позволяет нам избавиться от необходимости самостоятельно преобразовывать значения типа Дата из строки. Достаточно подготовить массив с именами свойств типа «Дата» и все черную работу метод сделает самостоятельно.
Оказалось, здесь есть один подводный камень. Если методу не удается конвертнуть строку в тип «Дата», то просто будет выброшено исключение. Причем в тексте исключения не будет никакой информации, намекающей на проблему преобразования свойства в дату.
Будьте внимательны и при возникновении ошибки не торопитесь рыться в файле JSON. Вполне возможно, что ошибка не в структуре, а в определенном свойстве с неправильным представлением даты. Первым делом попробуйте просто убрать параметр «ИменаСвойствСоЗначениямиДата» и выполнить преобразование. Работает? Начинайте копать и смотреть свойства, который вы передаете в этот параметр.
Помните, что если вы указали параметр «ИменаСвойствСоЗначениямиДата», то в таком свойстве априори не может быть ничего кроме правильного строкового представления даты. Даже пустая строка – прямой путь к исключению.