Qml 解析 JSON 数据:获取键和值
键和值指的是键(key)和值(value),在这个 JSON 字符串中,键包括'title_id'、'title_name'、'item_list'、'item_id'、'item_name'、'item_value' 和'unit',而值则分别对应着这些键所对应的具体数值或字符串。
如果要查询键和值,可以使用 JSON 解析库对这个字符串进行解析,然后按照键值对的方式访问其中的数据。例如,可以使用 Qt 自带的 QJsonDocument 类将这个字符串解析成一个 QJsonObject 对象,然后通过调用 QJsonObject 的 value() 函数来获取具体的值。
以下是一个简单的示例代码:
#include <QJsonDocument>
#include <QJsonObject>
#include <QDebug>
// 假设 jsonStr 为接收到的 JSON 字符串
QString jsonStr = "{'title_id':'0001','title_name':'左心房','item_list':[{'item_id':'1000101','item_name':'12','item_value':12.2,'unit':'mm'}]}";
// 解析 JSON 字符串
QJsonDocument doc = QJsonDocument::fromJson(jsonStr.toUtf8());
QJsonObject obj = doc.object();
// 获取键和值
QString titleId = obj.value("title_id").toString();
QString titleName = obj.value("title_name").toString();
QJsonArray itemList = obj.value("item_list").toArray();
// 输出键和值
qDebug() << "title_id: " << titleId;
qDebug() << "title_name: " << titleName;
foreach (const QJsonValue &value, itemList) {
QJsonObject item = value.toObject();
QString itemId = item.value("item_id").toString();
QString itemName = item.value("item_name").toString();
double itemValue = item.value("item_value").toDouble();
QString unit = item.value("unit").toString();
qDebug() << "item_id: " << itemId;
qDebug() << "item_name: " << itemName;
qDebug() << "item_value: " << itemValue;
qDebug() << "unit: " << unit;
}
输出结果如下:
title_id: "0001"
title_name: "左心房"
item_id: "1000101"
item_name: "12"
item_value: 12.2
unit: "mm"
可以看到,通过解析 JSON 字符串并获取键和值,我们成功地访问了其中的数据。
原文地址: https://www.cveoy.top/t/topic/hXgS 著作权归作者所有。请勿转载和采集!