我想知道如何通过QJsonObject
foreach
获得C++中的键/值对?到目前为止,我只能获得价值。通过QJsonObject获得键/值对的Foreach
//main.cpp
QFile file(":/geoip.json");
file.open(QIODevice::ReadOnly);
QByteArray rawData = file.readAll();
file.close();
QJsonDocument doc(QJsonDocument::fromJson(rawData));
QJsonObject json = doc.object();
foreach(const QJsonValue &value, json) {
QJsonObject obj = value.toObject();
qDebug() << value;
}
//geoip.json
{
"Afghanistan": "58.147.159.255",
"Albania": "31.22.63.255",
"Algeria": "105.235.143.255",
"American Samoa": "202.70.115.241",
"Andorra": "109.111.127.255",
"Angola": "105.175.255.255",
"Anguilla": "208.66.50.44",
"Antarctica": "46.36.195.10"
}
keys方法返回顶级密钥。在你的情况json.keys() –
@johnelemans真棒,谢谢。如果您在下面发布,我可以接受您的解决方案:) – Jon