我想知道,如何解析QT中的关联JSON数组。如何解析QT中的关联JSON数组?
这是我的例子JSON:
{
"req_code": 5,
"params": {
"email":"[email protected]",
"password":"123"
}
}
因此,为了得到电子邮件(从名为 '数据' JSON字符串)我会做这样的事情:
QJsonDocument doc=QJsonDocument::fromJson(data.toUtf8());
QJsonObject jobj=doc.object();
QJsonValue params_value=jobj.value(QString("params"));
QJsonArray params_array=params_value.toArray();
现在,'email'被保存在'params_array'对象中,但是这个数组不是QHash而不是QMap。如果这将是一个QHash我会得到电子邮件:
QString email=params_array.value("email");
但它不是一个哈希,它是一个向量。那么在这种情况下,如何以适当和快速的方式获得'email'属性的价值?
在你的JSON例子中,'params'的值是一个对象,而不是一个数组。 –
@ O'Neil好的。你知道如何从'jobj'变量中获得一个QJsonObject,它也是一个QJsonObject类型?文档没有这样的方法,大多数方法都返回QJsonValue。 – Nulik
您只需将[QJsonValue params_value]转换为QJsonObject与[QJsonValue :: toObject()](http://doc.qt.io/qt-5/qjsonvalue.html#toObject-1)而不是QJsonArray 。 –