OpenCV写yaml文件时的问题

我想在config.yaml中写入

AAA:
   - BBB:
        a: 1
        b: 2

我写的代码如下:

#include "opencv2/opencv.hpp"

using namespace cv;

int main(int, char** argv)
{
    FileStorage fw("./config.yaml", FileStorage::WRITE);
    fw << "AAA" << "[" << "{";
    fw << "BBB" << "{";
    fw << "a" << 1;
    fw << "b" << 2;
    fw << "}" << "}" << "]";
    return 0;
}

得到的config.yaml结果为

%YAML:1.0
AAA:
   -
      BBB:
         a: 1
         b: 2

其中的"-"和"BBB"不在同一行上,请问有什么方法解决吗?
另外,我不希望在config.yaml中出现”{ }“,所以请不要用"{:"代替"{"。谢谢!

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^