Qt多级解析Json文件

来源:互联网 发布:淘宝店铺图片大全 编辑:程序博客网 时间:2024/05/22 05:19

Qt多级解析Json文件

Json文件范本

我要从下面的文件中解析Cmd1中的Name中的值

{    "CommandFamily": {        "Name": "自定义指令集",        "Cmd1": {            "Name": "07",            "Value": "hello world"        },        "Cmd2": {            "Name": "07",            "Value": "hello world"        }    }}

源码实现

下面提供一个用json文件来格式化界面的操作实现

command::command(QWidget *parent)    : QWidget(parent){    ui.setupUi(this);    QFile loadFile(QStringLiteral("cmd.json")); // 从json脚本中加载指令集    if (!loadFile.open(QIODevice::ReadOnly))    {        qWarning("Couldn't open save file.");        return;    }    QByteArray saveData = loadFile.readAll();    loadFile.close();    QJsonDocument loadDoc(QJsonDocument::fromJson(saveData));    QJsonObject loadObj = loadDoc.object();    QJsonObject sub1 = loadObj.find("CommandFamily")->toObject();    QJsonObject sub2 = sub1.find("Cmd1")->toObject();    setWindowTitle(sub1["Name"].toString());    ui.label->setText(sub2["Name"].toString());    ui.lineEdit->setText(sub2["Value"].toString());    connect(ui.pushButton, SIGNAL(clicked()), SLOT(OnSendCommand()));}

通过json文件格式化界面成功
这里写图片描述

1 0
原创粉丝点击