QT Json将许多数据保存到文件中以及如何读取

时间:2018-12-10 16:32:31

标签: c++ json qt

所以我试图将许多数据保存到一个json文件中,但是如果没有奇怪的数据格式或覆盖以前的数据,我将无法保存它

我正在做使应用程序组织工作和任务的工作,我想将任务保存到.json文件并在重新启动程序后加载它们

QJsonObject test2;
    test2.contains("name");
    test2.contains("priority");
    test2.contains("description");
    test2.contains("beginDate");
    test2.contains("endDate");

    test2["name"]= "ZyIL";
    test2["priority"]=21;
    test2["description"]="Ja";
    test2["beginDate"]="21.03.02";
    test2["endDate"]="21.04.03";


    QJsonObject test22;
        test22.contains("name");
        test22.contains("priority");
        test22.contains("description");
        test22.contains("beginDate");
        test22.contains("endDate");

        test22["name"]= "AAAAL";
        test22["priority"]=241;
        test22["description"]="JBBBBBe";
        test22["beginDate"]="21.06.02";
        test22["endDate"]="21.08.03";





    QFile d("d.json");
    d.open(QFile::WriteOnly);
    QJsonDocument test3(test2);
    QJsonDocument test33(test22);
    d.write(test3.toJson());
    d.write(test33.toJson());
    d.close();

我以前的想法是制作一个QJsonObject数组并做类似的事情

   QJsonObject test2[2];
    for(int i=0;i<2;i++){
        test2[i].contains("name");
        test2[i].contains("priority");
        test2[i].contains("description");
        test2[i].contains("beginDate");
        test2[i].contains("endDate");

        test2[i]["name"]= "ZyIL";
        test2[i]["priority"]=21;
        test2[i]["description"]="Ja";
        test2[i]["beginDate"]="21.03.02";
        test2[i]["endDate"]="21.04.03";
    }

然后.json文件如下所示

{
    "beginDate": "21.03.02",
    "description": "Ja",
    "endDate": "21.04.03",
    "name": "ZyIL",
    "priority": 21
}
{
    "beginDate": "21.03.02",
    "description": "Ja",
    "endDate": "21.04.03",
    "name": "ZyIL",
    "priority": 21
}

所以我不知道该怎么做才能轻松保存和加载。我发现的全部是使用数组,但我无法弄清楚如何正确保存json文件,因此我什至无法尝试

0 个答案:

没有答案