Разработка и Конфигурация · 10 мин
Чем открыть JSON в 1С: способы просмотра и разбора файла
Чем открыть JSON-файл из 1С: встроенный разбор через ЧтениеJSON, внешние просмотрщики, типичные ошибки кодировки и проверка результата.
JSON — это текстовый формат обмена данными, который 1С активно использует для интеграций: ответы веб-сервисов, выгрузки из API, файлы настроек, данные онлайн-касс и ЭДО. Вопрос «чем открыть JSON» обычно означает одну из двух задач: быстро посмотреть содержимое файла глазами или программно разобрать его внутри 1С и получить значения.
В первом случае достаточно любого текстового редактора или просмотрщика с подсветкой структуры. Во втором — в платформе 1С есть штатные объекты ЧтениеJSON и ПрочитатьJSON, которые превращают текст в структуры, соответствия и массивы без сторонних компонент.
Ниже разобраны оба сценария: чем открыть файл вне 1С, как разобрать его в коде, как обработать вложенные объекты и массивы, какие ошибки встречаются чаще всего и как проверить, что данные прочитаны корректно.
Как быстро посмотреть JSON-файл вне 1С
Если задача — понять, что вообще прислал веб-сервис или выгрузила внешняя система, не нужно писать код. JSON — обычный текст, и его открывает любой редактор. Практичные варианты:
- Notepad++ — с плагином JSTool или JSON Viewer показывает дерево и умеет форматировать «сжатый» JSON в читаемый вид.
- Visual Studio Code — из коробки подсвечивает синтаксис, сворачивает блоки и показывает ошибки структуры (лишняя запятая, незакрытая скобка).
- Браузер — если открыть файл напрямую, Firefox покажет интерактивное дерево; в Chrome удобно использовать онлайн-форматтеры.
- Блокнот Windows — подойдёт только для совсем маленьких файлов: без форматирования длинная строка нечитаема.
Главное, что нужно сделать при просмотре, — убедиться, что файл валиден и понятна его структура: где объект, где массив, как называются нужные поля. Это понадобится, когда вы будете писать разбор в 1С: имена свойств в коде должны совпадать с именами в файле с точностью до регистра.
Как открыть и разобрать JSON в коде 1С
В платформе есть два подхода. Первый — «одной командой»: функция ПрочитатьJSON в сочетании с объектом ЧтениеJSON загружает весь документ в память и возвращает готовую структуру данных. Это удобно для файлов небольшого и среднего размера — ответов API, настроек, выгрузок.
Второй подход — последовательное чтение через методы Прочитать() объекта ЧтениеJSON, когда вы идёте по потоку и обрабатываете элементы по одному. Он нужен для очень больших файлов, которые невыгодно целиком помещать в память, и для потоковой обработки.
Типовой фрагмент кода для файла на диске выглядит так:
Чтение = Новый ЧтениеJSON;
Чтение.ОткрытьФайл("C:\Обмен\data.json", КодировкаТекста.UTF8);
Данные = ПрочитатьJSON(Чтение); // Соответствие или Структура
Чтение.Закрыть();
Сообщить(Данные["Номенклатура"]);
Если JSON пришёл строкой (например, из HTTP-ответа), вместо ОткрытьФайл используйте УстановитьСтроку(ТекстОтвета). Результат ПрочитатьJSON — по умолчанию Соответствие, где значения извлекаются через Данные.Получить("ИмяПоля"); если вызвать функцию с параметром ПрочитатьВСоответствие = Ложь, получите Структуру с доступом через точку.
Чтение = Новый ЧтениеJSON;
Чтение.УстановитьСтроку(ТекстJSON);
Данные = ПрочитатьJSON(Чтение, Ложь); // Структура
Чтение.Закрыть();
Для Каждого Элемент Из Данные.Товары Цикл
Сообщить(Элемент.Наименование);
КонецЦикла;Как обработать вложенные объекты и массивы
Реальные JSON-данные редко плоские: внутри объекта лежат другие объекты и массивы. После ПрочитатьJSON массив JSON превращается в Массив 1С, вложенный объект — во вложенное соответствие или структуру. Обход делается обычным циклом Для Каждого.
Типичная ситуация — проверка существования поля. Внешние системы могут не присылать необязательные поля, и обращение к несуществующему ключу вызовет ошибку. Безопасный шаблон:
Значение = Неопределено;
Если Данные.Свойство("Скидка", Значение) Тогда
// поле есть, работаем со Значение
Иначе
// поля нет — используем значение по умолчанию
КонецЕсли;
Для дат и чисел учитывайте, что JSON не имеет типа «дата»: даты приходят строками в формате ISO 8601 (например, 2026-05-17T10:30:00). ПрочитатьJSON умеет автоматически преобразовывать такие строки в тип Дата, если передать параметр с именами свойств-дат или форматом. Иначе строку придётся конвертировать вручную через Дата() или разбор подстрок.
- 1Откройте файл во внешнем редакторе и изучите структуру: имена полей, вложенность, где массивы
- 2Создайте объект ЧтениеJSON и откройте файл или установите строку с указанием кодировки UTF-8
- 3Вызовите ПрочитатьJSON и определите, что вернулось: Соответствие, Структура или Массив
- 4Обойдите вложенные данные циклами, проверяя наличие необязательных полей через Свойство() или Получить()
- 5Преобразуйте строковые даты и числа в типы 1С, проверьте результат на контрольном примере
Открытие JSON через обработку «из коробки» и внешние инструменты
Если разбирать JSON в коде не требуется, а нужно загрузить данные в справочники или документы, часто используют готовые механизмы. В типовых конфигурациях JSON-файлы встречаются в обменах: загрузка курсов валют, обмен с банками, ЕГАИС, маркировка, «1С:Номенклатура». Там файл открывается штатной командой загрузки соответствующего раздела — искать её нужно в меню обмена данными конкретной конфигурации.
Для разового анализа удобны универсальные внешние обработки «чтение JSON в таблицу», которые строят дерево значений из произвольного файла. Такие обработки распространяются на профильных ресурсах для разработчиков; перед использованием на рабочей базе проверяйте код — обработка имеет полный доступ к данным.
Ещё один вариант — консоль кода в конфигураторе или встроенная в некоторые конфигурации «Консоль кода» (на управляемых формах): вставляете фрагмент разбора, указываете путь к файлу и сразу видите результат. Это быстрее, чем создавать отдельную обработку.
Типичные ошибки при открытии JSON в 1С
Большинство проблем при разборе связано не с платформой, а с самим файлом или несовпадением ожиданий. Самая частая — невалидный JSON: обрезанный при передаче текст, лишняя запятая, комментарии (стандартный JSON их не поддерживает). ПрочитатьJSON в этом случае выбрасывает исключение с указанием позиции ошибки — по ней можно найти проблемное место в редакторе.
Вторая группа ошибок — кодировка. Файл в Windows-1251 или UTF-8 с BOM может читаться с искажениями. Явно указывайте КодировкаТекста.UTF8 при открытии и при необходимости пересохраняйте файл. Третья группа — несовпадение типов: код ожидает массив, а сервис прислал одиночный объект (когда элемент один, многие API не оборачивают его в массив). Проверяйте тип через ТипЗнч(Данные) перед обходом.
Как проверить, что данные прочитаны правильно
После разбора полезно выполнить контрольные проверки, прежде чем записывать что-то в базу. Минимальный набор: количество элементов в массиве совпадает с ожидаемым (его часто видно в исходном файле или в документации API), ключевые поля заполнены, числа и даты имеют правильный тип.
Для отладки выводите промежуточные значения через Сообщить() или смотрите переменные в отладчике конфигуратора — табло показывает содержимое соответствий и массивов наглядно. Если данные дальше записываются в справочники или документы, сначала выполните загрузку одной записи и сверьте её с источником вручную.
Как проверить результат
Соответствие/Структура для объекта, Массив для списка
Строка или Неопределено — текст не разобрался
Читаемый русский текст
Кракозябры — неверная кодировка при чтении
Совпадает с числом записей в исходном файле
Меньше или один элемент — возможно, объект вместо массива
Тип Дата или Число, корректные значения
Строки — требуется преобразование типов
FAQ
Можно ли открыть JSON в 1С без программирования?
Да, если цель — просто посмотреть содержимое: откройте файл в Notepad++, VS Code или браузере. Для загрузки данных в базу без кода используйте штатные механизмы обмена вашей конфигурации, если они предусмотрены для конкретного формата.
Что возвращает ПрочитатьJSON — структуру или соответствие?
По умолчанию — Соответствие, где значения получают методом Получить("Имя"). Если вызвать ПрочитатьJSON(Чтение, Ложь), результатом будет Структура с доступом через точку, что чаще удобнее в коде.
Почему ПрочитатьJSON выдаёт ошибку «Непредвиденный символ»?
Файл невалиден как JSON: обрезан при передаче, содержит лишнюю запятую, комментарии или BOM в начале. Откройте файл в редакторе с проверкой синтаксиса (VS Code подсветит место ошибки) и исправьте источник данных.
Как прочитать очень большой JSON-файл?
Используйте последовательное чтение: методы Прочитать() и ТипТекущегоЗначения объекта ЧтениеJSON позволяют обходить документ по элементам без загрузки целиком в память. Это стандартный приём для файлов в сотни мегабайт.
Как преобразовать дату из JSON в тип Дата 1С?
Даты в JSON передаются строками. Передайте в ПрочитатьJSON параметры с перечнем свойств-дат и форматом ISO — платформа преобразует их автоматически. Либо разберите строку вручную и соберите значение функцией Дата().
Чем записать данные обратно в JSON из 1С?
Обратная операция — объект ЗаписьJSON и функция ЗаписатьJSON: структуры, соответствия, массивы и примитивные типы сериализуются в текст, который можно сохранить в файл или отправить в HTTP-запросе.
Что важно запомнить
Для просмотра JSON достаточно текстового редактора с форматированием; для работы внутри 1С используйте штатные ЧтениеJSON и ПрочитатьJSON с явным указанием кодировки UTF-8. Проверяйте наличие полей и типы данных перед использованием, а незнакомые обработки запускайте только на копии базы.