Ну вот и тип ключ значения . Он не является частью стандарта и определен для YAML 1.1, но был разработан для решения этой проблемы. Он предполагает, что у вас в основном есть значение в вашем сопоставлении с именем =
, которое содержит значение по умолчанию:
name_1:
=: value_1
subName1_1: subValue1_1
subName1_2: subValue1_2
name_2:
=: value_2
subName2_1: subValue2_1
subName2_2: subValue2_2
name_3:
=: value_3
subName3_1: subValue3_1
subName3_2: subValue3_2
name_4:
=: value_4
subName4_1: subValue4_1
subName4_2: subValue4_2
В качестве альтернативы вы можете сделать значения списком с одиночными парами key_value:
name_1:
- value_1
- subName1_1: subValue1_1
- subName1_2: subValue1_2
name_2:
- value_2
- subName2_1: subValue2_1
- subName2_2: subValue2_2
name_3:
- value_3
- subName3_1: subValue3_1
- subName3_2: subValue3_2
name_4:
- value_4
- subName4_1: subValue4_1
- subName4_2: subValue4_2
Вы можете записать это с помощью последовательностей потоков, поскольку YAML позволяет последовательностям потоков содержать одиночные пары ключ-значение, которые будут интерпретироваться как неявные сопоставления:
name_1: [value_1,
subName1_1: subValue1_1,
subName1_2: subValue1_2]
name_2: [value_2,
subName2_1: subValue2_1,
subName2_2: subValue2_2]
name_3: [value_3,
subName3_1: subValue3_1,
subName3_2: subValue3_2]
name_4: [value_4,
subName4_1: subValue4_1,
subName4_2: subValue4_2]
Имейте в виду, что когда вы это сделаете, вы не сможете иметь какие-либо узлы блочного стиля в подменю, но другие узлы потока будут в порядке.