Qt的QCborStreamWriter中的嵌套映射?



我的程序提供了大量的数据,组织在嵌套映射,我想将其序列化并写入文件。最初,我使用了QJsonDocumentQJsonMapQJsonArray,但是最后的文件写入过程很长,文件太大(>400MB)。所以我查看了qchrorstreamwriter但是我找不到嵌套映射的例子。

有办法吗?QCborStreamWriter: append ()不接受QCborMap作为参数。

QCborStreamWriter writer;
writer.startArray();
QCBorMap map;
writer.append(map); <= not accepted
writer.endArray();

反复调用startMap()和endMap()似乎可以达到目的。

QCborStreamWriter writer(&file);
writer.startMap();
writer.append("A");
writer.append(1);
writer.append("B");
writer.append(2);
writer.append("C");
writer.startMap(); // start nested map
writer.append("C1");
writer.append(3.1);
writer.append("C2");
writer.append(3.2);
writer.append("C3");
writer.append(3.3);
writer.endMap(); // end nested map
writer.endMap();

并生成以下树:

{
"A": 1,
"B": 2,
"C": {
"C1": 3.1,
"C2": 3.2,
"C3": 3.3
},
"D": 4
}

最新更新