aid*_*nMC 0 c++ qt json qt5 qtcore
我想用qt解码以下json:
{
"user": {
"name": "string"
}
}
Run Code Online (Sandbox Code Playgroud)
我试图用这个代码做,但不起作用:
QJsonDocument jsonResponse = QJsonDocument::fromJson(result.toUtf8());
QJsonObject jsonObject = jsonResponse.object();
QJsonArray jsonArray = jsonObject["user"].toArray();
foreach (const QJsonValue & value, jsonArray)
{
QJsonObject obj = value.toObject();
url = obj["name"].toString();
}
Run Code Online (Sandbox Code Playgroud)
这是罪魁祸首:
QJsonArray jsonArray = jsonObject["user"].toArray();
Run Code Online (Sandbox Code Playgroud)
您正在尝试将对象转换为数组而不进行任何 isArray()检查.也就是说,你的json中不包含数组.数组意味着[...]在json世界中.
您应该使用toObject()或更改输入json.
如果没有json文件更改,您可以这样写:
QJsonDocument jsonResponse = QJsonDocument::fromJson(result.toUtf8());
QJsonObject jsonObject = jsonResponse.object();
QJsonObject userJsonObject = jsonObject.value("user").toObject();
qDebug() << userJsonObject.value("name").toString();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
972 次 |
| 最近记录: |