Re[5]: Самый удобный человеко-читаемый язык данных
От: vsb Казахстан  
Дата: 28.12.24 09:07
Оценка:
Можно конкретный YAML-документ, который я не могу через `yq -o json` в JSON преобразовать?
Re[6]: Самый удобный человеко-читаемый язык данных
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 28.12.24 09:16
Оценка: 2 (1)
Здравствуйте, 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 является его авторским произволом и не отражает сути описанного в спеке.

Вот именно так и надо рассматривать возможное поведение, а не просто "во что-то преобразовал, а во что именно — да и хрен с ним".
The God is real, unless declared integer.
Re[6]: Самый удобный человеко-читаемый язык данных
От: korvin_  
Дата: 28.12.24 10:12
Оценка:
Здравствуйте, vsb, Вы писали:

vsb>Можно конкретный YAML-документ, который я не могу через `yq -o json` в JSON преобразовать?


Попробуйте файлики отсюда: https://github.com/dubniczky/Yaml-Bomb

Не то, что бы их все совсем невозможно преобразовать, но есть нюансик.
Отредактировано 28.12.2024 10:25 korvin_ . Предыдущая версия .
Re[7]: Самый удобный человеко-читаемый язык данных
От: vsb Казахстан  
Дата: 28.12.24 10:51
Оценка:
Ок, но всё же я считаю, что на практике YAML и JSON полностью идентичны. Все инструменты, с которыми я работал, где применялся YAML, принимали JSON и YAML являлся лишь чуть более удобной формой представления тех же структур. Можно называть это практически применяемым подмножеством YAML. Что в YAML есть какие-то теги, я узнал только сегодня, несмотря на то, что применяю его много лет, и нигде их не видел.
Отредактировано 28.12.2024 10:53 vsb . Предыдущая версия .
Re[8]: Самый удобный человеко-читаемый язык данных
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 28.12.24 14:56
Оценка:
Здравствуйте, vsb, Вы писали:

vsb>Ок, но всё же я считаю, что на практике YAML и JSON полностью идентичны. Все инструменты, с которыми я работал, где применялся YAML, принимали JSON и YAML являлся лишь чуть более удобной формой представления тех же структур. Можно называть это практически применяемым подмножеством YAML. Что в YAML есть какие-то теги, я узнал только сегодня, несмотря на то, что применяю его много лет, и нигде их не видел.


В таком варианте — да. Такой себе "реальный YAML для реальных применений".

Жаль, на него нет отдельного стандарта. (На практике и то, что называется у YAML "стандартом", не соответствует аж никак правилам написания подобных документов — это просто воспоминания и размышления на тему спецификации. Тут желательно что-то другое увидеть.)
The God is real, unless declared integer.
Re[3]: Самый удобный человеко-читаемый язык данных
От: Sinclair Россия https://github.com/evilguest/
Дата: 29.12.24 14:23
Оценка: :)
Здравствуйте, netch80, Вы писали:
N>А смысл?
Смысл, очевидно, в том, чтобы максимально затруднить копирование фрагмент конфигурации из одного места в другое в обычном текстовом редакторе.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[5]: Самый удобный человеко-читаемый язык данных
От: bobby23  
Дата: 02.01.25 06:21
Оценка:
Здравствуйте, netch80, Вы писали:

N>Здравствуйте, bobby23, Вы писали:




N>Вопрос был про тот пример, где "0.1.0.node=valuexxx", а не про китайщину. Итак?


простая навигация по вложенным нодам, ручное редактирование будет сложнее(редактор сам должен нумеровать узлы)
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.