我已经试过这段代码和工作,但我不明白如何可以得到json和转换数组或列表与Qt。 我的代码:QJsonDocument列表或数组在c + +
QEventLoop eventLoop;
QNetworkAccessManager mgr;
QObject::connect(&mgr, SIGNAL(finished(QNetworkReply*)), &eventLoop, SLOT(quit()));
QNetworkRequest req(QUrl(QString("http://myurljson.com/getjson")));
QNetworkReply *reply = mgr.get(req);
eventLoop.exec(); // blocks stack until "finished()" has been called
if (reply->error() == QNetworkReply::NoError) {
QString strReply = (QString)reply->readAll();
qDebug() << "Response:" << strReply;
QJsonDocument jsonResponse = QJsonDocument::fromJson(strReply.toUtf8());
QJsonObject jsonObj = jsonResponse.object();
qDebug() << "test:" << jsonObj["MCC_Dealer"].toString();
qDebug() << "test1:" << jsonObj["MCC_User"].toString();
delete reply;
}
else {
//failure
qDebug() << "Failure" <<reply->errorString();
delete reply;
}
的json得到(从网址3条):
[{ “MCC_Dealer”: '测试', “MCC_User”: '测试', “CurrentDealer”:”测试”, “当前用户”: '测试'},{ “MCC_Dealer”: '测试', “MCC_User”: '测试', “CurrentDealer”: '测试', “当前用户”: '测试'},{ “MCC_Dealer” :'test','MCC_User':'test','CurrentDealer':'test','CurrentUser':'test'}]
我需要获取json并设置为列表或数组。 我的目标是在数组或列表中使用C++和Qt转换json响应。 任何想法?
感谢
您的JSON响应是一个数组。数组中的每个元素都有四个带有字符串值的JSON对象:“MCC_Dealer”,“MCC_User”,“CurrentDealer”,“CurrentUser”。请澄清一下,你想如何将它们存储在列表中。 – vahancho
每一行都是一个对象,我想把它放在一个对象列表中,比如列表 obj = new List ();和obj.add(line1);等等..我来自c#,但我想这样做在c + + –
好吧,但你已经有一个'QJsonArray'存储每个提到的对象。为什么你需要另一个结构(列表)来存储它们?如果你写'QJsonArray jsonArray = jsonResponse.array();'你会得到你所需要的,我想。 – vahancho