C++ 如何解析QT中包含对象的Json字符串
我得到了一个JSON字符串格式C++ 如何解析QT中包含对象的Json字符串,c++,qt,C++,Qt,我得到了一个JSON字符串格式 "{\"bookHeavyInfo\":{\"Qty\":100},\"bookLightInfo\":{\"Qty\":2}}" 如何提取bookHeavyInfo 我在试着做一些事情,比如 void parseJsonString(QString str) { QJsonDocument jsonResponse = QJsonDocument::fromJson(str.toUtf8()); QJsonObject jsonObject = jso
"{\"bookHeavyInfo\":{\"Qty\":100},\"bookLightInfo\":{\"Qty\":2}}"
如何提取bookHeavyInfo
我在试着做一些事情,比如
void parseJsonString(QString str)
{
QJsonDocument jsonResponse = QJsonDocument::fromJson(str.toUtf8());
QJsonObject jsonObject = jsonResponse.object();
QString bookHeavyInfo= jsonObject["bookHeavyInfo"].toString();
}
我无法获取
bookHeavyInfo
的值,更具体地说,如何获取数量的值。请建议注意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();
代码究竟是如何失败的?将QJsonParseError
的地址传递给fromJson
,然后查看上面的内容。jsonResponse.isObject()
的结果是什么?jsonObject[“bookHeavyInfo”]
(转换为字符串之前)的返回值是多少