Чтение Yaml
Обработка для Yaml средствами 1С. Полноценный парсер yaml, с поддержкой нескольких документов, многострочных литералов, якорей и алиасов, тегов и т.д. и т.п.
- Описание
- Подробнее
Описание
У 1С до сих пор нет поддержки yaml, но иногда необходимо иметь возможность десериализовать такие файлы.
Был написан полноценный парсер yaml средствами 1С.
У меня не стояло задачи сделать его супер-быстрым, потому он вообще не оптимизирован, зато покрывает большинство требований спецификации yaml.
План использования следующий: вызываем чтение yaml один раз, конвертируем конфигурацию в json — дальше работаем с json. Возможно, позже я завезу оптимизацию, но пока — задача максимально отловить баги.
- flow и обычный синтаксис
- Якоря и алиасы
- Множественные документы
- Теги(как определение типов, так и локальные)
- Многострочные строки и литералы
В модуле обработки ровно один публичный метод, чтение выполняется следующим образом:
Парсер = Обработки.ПарсерЯмл.Создать();
МассивДокументов = Парсер.Прочитать(СтрокаYml);Ну или просто открывайте форму и пробуйте.

Вот так, например, выглядит api wildberries.
Я постарался отловить максимум багов, и на данный момент — почти весь набор стандартных тестов yaml проходит успешно.
Так как yaml — это какой-то запредельно кривой стандарт, возможны баги в чтении… обязательно сообщайте о них.
Тестировалось на платформе 8.3.24.1548.
