--- title: Чтение JSON slug: общие-обмен-данными-чтение-данных-из-файла/чтение-json --- ```bsl &НаКлиенте Асинх Процедура ПрочитатьФайл(Команда) Расширение = "json"; ПараметрыДиалога = Новый ПараметрыДиалогаПомещенияФайлов; ПараметрыДиалога.Заголовок = "Выберите файл"; ПараметрыДиалога.Фильтр = ФильтрПоРасширению(Расширение); ОписаниеФайла = Ждать ПоместитьФайлНаСерверАсинх(,,,ПараметрыДиалога); Если ОписаниеФайла = Неопределено Тогда Возврат; КонецЕсли; АдресДанных = ОписаниеФайла.Адрес; Расширение = ОписаниеФайла.СсылкаНаФайл.Файл.Расширение; ПрочитатьФайлНаСервере(АдресДанных, Расширение); КонецПроцедуры &НаСервере Процедура ПрочитатьФайлНаСервере(АдресДанных, Расширение) ДанныеФайла = ПолучитьИзВременногоХранилища(АдресДанных); ПутьКФайлу = ПолучитьИмяВременногоФайла(Расширение); ДанныеФайла.Записать(ПутьКФайлу); ЧтениеJSON = Новый ЧтениеJSON; ЧтениеJSON.ОткрытьФайл(ПутьКФайлу); ДанныеJSON = ПрочитатьJSON(ЧтениеJSON); // Получаем массив структур Если ТипЗнч(ДанныеJSON) = Тип("Структура") Тогда МассивДанных = Новый Массив; МассивДанных.Добавить(ДанныеJSON); ИначеЕсли ТипЗнч(ДанныеJSON) = Тип("Массив") Тогда МассивДанных = ДанныеJSON; КонецЕсли; Для каждого ДанныеКонтрагента Из МассивДанных Цикл // обрабатываем КонецЦикла; ЧтениеJSON.Закрыть(); УдалитьФайлы(ПутьКФайлу); КонецПроцедуры ```