К статье
Практический материал

Разработка и Конфигурация · 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 — по умолчанию Соответствие, где значения извлекаются через Данные.Получить("ИмяПоля"); если вызвать функцию с параметром ПрочитатьВСоответствие = Ложь, получите Структуру с доступом через точку.

bsl
Чтение = Новый ЧтениеJSON;
Чтение.УстановитьСтроку(ТекстJSON);
Данные = ПрочитатьJSON(Чтение, Ложь); // Структура
Чтение.Закрыть();
Для Каждого Элемент Из Данные.Товары Цикл
    Сообщить(Элемент.Наименование);
КонецЦикла;

Как обработать вложенные объекты и массивы

Реальные JSON-данные редко плоские: внутри объекта лежат другие объекты и массивы. После ПрочитатьJSON массив JSON превращается в Массив 1С, вложенный объект — во вложенное соответствие или структуру. Обход делается обычным циклом Для Каждого.

Типичная ситуация — проверка существования поля. Внешние системы могут не присылать необязательные поля, и обращение к несуществующему ключу вызовет ошибку. Безопасный шаблон:

Значение = Неопределено;

Если Данные.Свойство("Скидка", Значение) Тогда

// поле есть, работаем со Значение

Иначе

// поля нет — используем значение по умолчанию

КонецЕсли;

Для дат и чисел учитывайте, что JSON не имеет типа «дата»: даты приходят строками в формате ISO 8601 (например, 2026-05-17T10:30:00). ПрочитатьJSON умеет автоматически преобразовывать такие строки в тип Дата, если передать параметр с именами свойств-дат или форматом. Иначе строку придётся конвертировать вручную через Дата() или разбор подстрок.

Порядок разбора JSON в 1С
  1. 1
    Откройте файл во внешнем редакторе и изучите структуру: имена полей, вложенность, где массивы
  2. 2
    Создайте объект ЧтениеJSON и откройте файл или установите строку с указанием кодировки UTF-8
  3. 3
    Вызовите ПрочитатьJSON и определите, что вернулось: Соответствие, Структура или Массив
  4. 4
    Обойдите вложенные данные циклами, проверяя наличие необязательных полей через Свойство() или Получить()
  5. 5
    Преобразуйте строковые даты и числа в типы 1С, проверьте результат на контрольном примере

Открытие JSON через обработку «из коробки» и внешние инструменты

Если разбирать JSON в коде не требуется, а нужно загрузить данные в справочники или документы, часто используют готовые механизмы. В типовых конфигурациях JSON-файлы встречаются в обменах: загрузка курсов валют, обмен с банками, ЕГАИС, маркировка, «1С:Номенклатура». Там файл открывается штатной командой загрузки соответствующего раздела — искать её нужно в меню обмена данными конкретной конфигурации.

Для разового анализа удобны универсальные внешние обработки «чтение JSON в таблицу», которые строят дерево значений из произвольного файла. Такие обработки распространяются на профильных ресурсах для разработчиков; перед использованием на рабочей базе проверяйте код — обработка имеет полный доступ к данным.

Ещё один вариант — консоль кода в конфигураторе или встроенная в некоторые конфигурации «Консоль кода» (на управляемых формах): вставляете фрагмент разбора, указываете путь к файлу и сразу видите результат. Это быстрее, чем создавать отдельную обработку.

Типичные ошибки при открытии JSON в 1С

Большинство проблем при разборе связано не с платформой, а с самим файлом или несовпадением ожиданий. Самая частая — невалидный JSON: обрезанный при передаче текст, лишняя запятая, комментарии (стандартный JSON их не поддерживает). ПрочитатьJSON в этом случае выбрасывает исключение с указанием позиции ошибки — по ней можно найти проблемное место в редакторе.

Вторая группа ошибок — кодировка. Файл в Windows-1251 или UTF-8 с BOM может читаться с искажениями. Явно указывайте КодировкаТекста.UTF8 при открытии и при необходимости пересохраняйте файл. Третья группа — несовпадение типов: код ожидает массив, а сервис прислал одиночный объект (когда элемент один, многие API не оборачивают его в массив). Проверяйте тип через ТипЗнч(Данные) перед обходом.

Типичные ошибки
01
Обращение к полю без проверки его существования — исключение, когда внешняя система не прислала необязательное поле
02
Чтение файла без указания кодировки — кракозябры или ошибка разбора при наличии кириллицы
03
Ожидание массива там, где пришёл одиночный объект, — цикл Для Каждого падает или обрабатывает свойства объекта как элементы
04
Игнорирование строкового формата дат — даты остаются строками и ломают сравнения и отборы
05
Разбор огромного файла через ПрочитатьJSON целиком — чрезмерный расход памяти вместо потокового чтения

Как проверить, что данные прочитаны правильно

После разбора полезно выполнить контрольные проверки, прежде чем записывать что-то в базу. Минимальный набор: количество элементов в массиве совпадает с ожидаемым (его часто видно в исходном файле или в документации API), ключевые поля заполнены, числа и даты имеют правильный тип.

Для отладки выводите промежуточные значения через Сообщить() или смотрите переменные в отладчике конфигуратора — табло показывает содержимое соответствий и массивов наглядно. Если данные дальше записываются в справочники или документы, сначала выполните загрузку одной записи и сверьте её с источником вручную.

Контрольные точки

Как проверить результат

Тип результата ПрочитатьJSON
Норма

Соответствие/Структура для объекта, Массив для списка

Тревожный признак

Строка или Неопределено — текст не разобрался

Кириллица в строковых полях
Норма

Читаемый русский текст

Тревожный признак

Кракозябры — неверная кодировка при чтении

Количество элементов массива
Норма

Совпадает с числом записей в исходном файле

Тревожный признак

Меньше или один элемент — возможно, объект вместо массива

Даты и числа
Норма

Тип Дата или Число, корректные значения

Тревожный признак

Строки — требуется преобразование типов

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. Проверяйте наличие полей и типы данных перед использованием, а незнакомые обработки запускайте только на копии базы.