侧边栏壁纸
博主头像
三味的小站博主等级

世界上没有偶然,有的只是必然的结果。

  • 累计撰写 61 篇文章
  • 累计创建 13 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录
Qt

Qt Json简单使用

三味线
2019-05-16 / 0 评论 / 0 点赞 / 11 阅读 / 2001 字
#include <QCoreApplication>
#include <QJsonArray>
#include <QJsonDocument>
#include <QJsonObject>
#include <QJsonParseError>
#include <QFile>
#include <QDateTime>
int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    QFile file("F:/1.json");
    if (file.open(QFile::ReadWrite))
    {
        QByteArray data=file.readAll();
        file.resize(0);//clear
        QJsonParseError jsError;
        QJsonDocument jsDoc(QJsonDocument::fromJson(data,&jsError));
        QJsonObject rootObj=jsDoc.object();
        QJsonObject subObj;//Map key:value
        subObj.insert("Name","Tom");
        subObj.insert("Age",18);
        subObj.insert("Birth",QDateTime::currentDateTime().toString());
        rootObj.insert("Tom",subObj);
        QJsonArray subArr;//List value
        subArr.append("Jerry");
        subArr.append(18);
        subArr.append(QDateTime::currentDateTime().toString());
        rootObj.insert("Jerry",subArr);
        jsDoc.setObject(rootObj);
        file.write(jsDoc.toJson());
        file.close();
    }
    return a.exec();
}

初始文件:

{
    "Conan": {
        "Age": 10,
        "Birth": "周四 五月 16 09:43:58 2019",
        "Name": "Conan"
    },
    "Pika": {
        "Age": 12,
        "Birth": "周四 五月 16 09:43:58 2019",
        "Name": "Pika"
    }
}

修改后:

{
    "Conan": {
        "Age": 10,
        "Birth": "周四 五月 16 09:43:58 2019",
        "Name": "Conan"
    },
    "Jerry": [
        "Jerry",
        18,
        "周四 五月 16 09:49:46 2019"
    ],
    "Pika": {
        "Age": 12,
        "Birth": "周四 五月 16 09:43:58 2019",
        "Name": "Pika"
    },
    "Tom": {
        "Age": 18,
        "Birth": "周四 五月 16 09:49:46 2019",
        "Name": "Tom"
    }
}

Object默认字典序,Array按添加顺序;

Object包含(key,value),Array包含(value);

0

评论区