Здравствуйте, vsb, Вы писали:
vsb>Можно конкретный YAML-документ, который я не могу через `yq -o json` в JSON преобразовать?
Постановка вопроса некорректна. Не вообще преобразовать, а преобразовать согласно стандарту, однозначно и без потери данных.
Про теги я уже сказал. Но вот возьмём пример с binary, взятый напрямую из текста стандарта: вход:
picture: !!binary |
R0lGODlhDAAMAIQAAP//9/X
17unp5WZmZgAAAOfn515eXv
Pz7Y6OjuDg4J+fn5OTk6enp
56enmleECcgggoBADs=
Выхлоп yq:
{
"picture": "R0lGODlhDAAMAIQAAP//9/X\n17unp5WZmZgAAAOfn515eXv\nPz7Y6OjuDg4J+fn5OTk6enp\n56enmleECcgggoBADs=\n"
}
Признак того, что это должны быть двоичные данные — потерян (но он и не мог быть в JSON).
В свёрнутом base64 присутствуют дополнительные LF, присутствие которых должно быть ещё обосновано — в стандартном base64 их не полагается, должны быть убраны при чтении из внешнего представления. Итого, поведение yq является его авторским произволом и не отражает сути описанного в спеке.
Вот именно так и надо рассматривать возможное поведение, а не просто "во что-то преобразовал, а во что именно —
да и хрен с ним".