Спецификация JSON’а вмещается в пять страниц и её может читать пятиклассник. Однажды прочитанная, она укладывается в голову навсегда.
Спецификация YAML — это 84 страницы мелкого умного текста. Попробуйте запомнить, чем отличается unquoted
, 'single-quoted'
, "double-quoted"
, | literal
и > folded
скаляры, и как в них работает удаление ведущих пробелов.
И ещё вот эта грабля с массивами и отображениями, эта дурацкая неоднородность в окрестности нуля:
# Массив из двух элементов
array2:
- foo
- bar
# Убираем один, получаем массив из одного элемента
array1:
- foo
#- bar
# Убираем один, получаем пустой массив?
array0:
#- foo
#- bar
# Отображение из двух ключей
map2:
foo: bar
baz: quux
# Убираем один, получаем отображение из одного ключа
map1:
foo: bar
#baz: quux
# Убираем один, получаем пустое отображение?
map0:
#foo: bar
#baz: quux
А вот фиг. Значения array0
и map0
— null
.
Сейчас начнутся возражения, что если тебе нужен пустой массив или пустое отображение, то напиши []
или {}
соответственно. Ну так продемонстрируйте, как это будет выглядеть в вышеприведённых примерах. Чтоб раскомментирование элемента немедленно приводило обратно к одноэлементной коллекции.
Опять-таки, если мы согласны писать скобки и запятые, почему мы не пишем JSON?