【发布时间】:2019-03-16 06:03:50
【问题描述】:
我想将多个 QJsonObject 而不是 QJsonArray 添加到 QJsonDocument。这可能吗?它应该是这样的:
{
"Obj1" : {
"objID": "111",
"C1" : {
"Name":"Test1",
"Enable" : true
}
},
"Obj2" : {
"objID": "222",
"C2" : {
"Name":"Test2",
"Enable" : true
}
}
}
我已经推荐了this,但我不想使用JsonArray。只想使用 JsonObject 。我也在这里参考了更多答案,但找不到任何解决方案。
我试过这个:
QTextStream stream(&file);
for(int idx(0); idx < obj.count(); ++idx)
{
QJsonObject jObject;
this->popData(jObject); // Get the Filled Json Object
QJsonDocument jDoc(jObject);
stream << jDoc.toJson() << endl;
}
file.close();
输出
{
"Obj1" : {
"objID": "111",
"C1" : {
"Name":"Test1",
"Enable" : true
}
}
}
{
"Obj2" : {
"objID": "222",
"C2" : {
"Name":"Test2",
"Enable" : true
}
}
}
【问题讨论】:
-
你的
popData函数是如何实现的?你能写一个 MCVE 来构造这样一个畸形的QJsonDocument吗? -
我将
QJsonObject作为popData()函数中的引用传递并获取包含"Obj1" : { "objID": "111", "C1" : { "Name":"Test1", "Enable" : true } }一个对象的填充对象。
标签: c++ json qt qjson qjsonobject