gpt4 book ai didi

c++ - Foreach 通过 QJsonObject 获取 Key/Value Pair

转载 作者:行者123 更新时间:2023-11-30 00:45:56 25 4
gpt4 key购买 nike

我想知道如何通过 QJsonObject foreach 获取 C++ 中的键/值对?到目前为止,我只能获取值。

//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() 一个完整的工作解决方案是:

#include <QCoreApplication>
#include <QFile>
#include <QByteArray>
#include <QJsonDocument>
#include <QJsonObject>
#include <QJsonValue>
#include <QDebug>

int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);

//main.cpp
QFile file("path/to/geoip.json");
file.open(QIODevice::ReadOnly);
QByteArray rawData = file.readAll();
file.close();
QJsonDocument doc(QJsonDocument::fromJson(rawData));
QJsonObject json = doc.object();
foreach(const QString& key, json.keys()) {
QJsonValue value = json.value(key);
qDebug() << "Key = " << key << ", Value = " << value.toString();
}

return a.exec();
}

关于c++ - Foreach 通过 QJsonObject 获取 Key/Value Pair,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40850552/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com