如何在QT中解析包含对象内对象的Json字符串

How to parse Json String in QT that contains object inside object

本文关键字:对象 Json 字符串 包含 QT      更新时间:2023-10-16

我得到一个JSON字符串格式

"{"bookHeavyInfo":{"Qty":100},"bookLightInfo":{"Qty":2}}"

如何提取bookHeavyInfo的"Qty"值我正在尝试如下

void parseJsonString(QString str)
{
 QJsonDocument jsonResponse = QJsonDocument::fromJson(str.toUtf8());
 QJsonObject jsonObject = jsonResponse.object();
 QString bookHeavyInfo= jsonObject["bookHeavyInfo"].toString();
}

我无法获得bookHeavyInfo的值,更具体地说,我如何获得Qty的值。请建议

注意bookHeavyInfo是一个对象,所以你不能对它使用toString方法。

试试这个:

QString str = "{"bookHeavyInfo":{"Qty":100},"bookLightInfo":{"Qty":2}}";
QJsonDocument jsonResponse = QJsonDocument::fromJson(str.toUtf8());
QJsonObject jsonObject = jsonResponse.object();
QJsonObject bookHeavyInfo = jsonObject["bookHeavyInfo"].toObject();
int qty = bookHeavyInfo["Qty"].toInt();