Персональный блог Игоря Антонова aka "spider_net"

1С и JSON. Разбираемся с исключением


Рубрика: 1С:Предприятие -> Программирование
Метки: | | |
Просмотров: 11560
1С и JSON. Разбираемся с исключением

В платформе 8.3 появились нативные средства для работы с форматом JSON. Нет никакой необходимости использовать сторонние решения, если нативные инструменты работают быстрей и лучше. Мы много, где используем формат JSON и вот случайно столкнулись с небольшой проблемой. Итак, условие. Есть большой файл в формате JSON, который требуется конвертнуть в структуру. Для этого в платформе есть глобальный метод: «ПрочитатьJSON()».

У него много параметров, но в большинстве случае разработчику интересны 1-й (менеджер чтения JSON) и 3-й ИменаСвойствСоЗначениямиДата (Строка, Массив, ФикированныйМассив). С первым все понятно, а вот третий позволяет нам избавиться от необходимости самостоятельно преобразовывать значения типа Дата из строки. Достаточно подготовить массив с именами свойств типа «Дата» и все черную работу метод сделает самостоятельно.

Оказалось, здесь есть один подводный камень. Если методу не удается конвертнуть строку в тип «Дата», то просто будет выброшено исключение. Причем в тексте исключения не будет никакой информации, намекающей на проблему преобразования свойства в дату.

Будьте внимательны и при возникновении ошибки не торопитесь рыться в файле JSON. Вполне возможно, что ошибка не в структуре, а в определенном свойстве с неправильным представлением даты. Первым делом попробуйте просто убрать параметр «ИменаСвойствСоЗначениямиДата» и выполнить преобразование. Работает? Начинайте копать и смотреть свойства, который вы передаете в этот параметр.

Помните, что если вы указали параметр «ИменаСвойствСоЗначениямиДата», то в таком свойстве априори не может быть ничего кроме правильного строкового представления даты. Даже пустая строка – прямой путь к исключению.

Оставьте комментарий!
comments powered by HyperComments