Да, это действительный YAML (ну, первые два; в третьем, убедитесь, что у вас есть пробел после -
в последовательностях);но это может не совсем то, что вы думаете.В вашем игрушечном примере
items:
- list1:
- itemA
- itemB
- list2:
- itemC
- itemD
значение, связанное с items
, является последовательностью;и каждая запись этой последовательности представляет собой карту с одной парой ключ / значение (для первой записи ключ - list1
, а во второй - list2
).
Что могло вас смущатьв вашем первом реальном примере было, как получить доступ к каждому элементу.Поскольку вы пометили это yaml-cpp
, вот как вы можете получить, скажем, список игрушек в оранжерее вашего первого примера:
doc["items"]["garden"][0]["treehouse"][0]["toys"];
(обратите внимание на [0]
перед тем, как получить доступ к «домику на дереве»и "игрушки" ключи.)