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