Допустимые символы в идентификаторе ключа карты в YAML?

Какие символы есть и не разрешены в ключе (например, example в example: "Value") в YAML?

Ответ 1

Любой символ (если он указан в одинарных кавычках "пример" или в двойных "пример"). Помните, что ключ не должен быть скалярным ("пример"). Это может быть список или карта.

Ответ 2

В соответствии со спецификацией YAML 1.2 просто советуется использовать печатные символы с явными управляющими символами, исключенными (см. здесь):

При создании имен ключей символы YAML spec. следует использовать синтаксис или специальный смысл (например, "#" обозначает комментарий, " > " означает "сгибание", "-" обозначает список и т.д.).

По существу, вы остаетесь относительно условных условных обозначений (ограничений) любым кодом (реализацией парсера/инструмента), который должен потреблять ваш документ YAML. Чем больше вы придерживаетесь буквенных знаков, тем лучше; просто наш опыт показал, что подчеркивание работает с большинством инструментов, с которыми мы столкнулись.

Это была совместная практика с другими, с которыми мы работаем, чтобы преобразовать символ периода. символу подчеркивания '_' при сопоставлении синтаксиса пространства имен, который использует периоды для YAML. Некоторые люди так же успешно использовали дефисы, но мы видели, что это неверно истолковывалось в некоторых реализациях.