からQJsonObject
までどのようにして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