Qt QJSON在Mac中的使用-遇到一些问题

Qt QJSON在Mac中的使用-遇到一些问题,qt,qt4,qjson,Qt,Qt4,Qjson,我正在使用QJson进行解析。但我遇到了一些问题。我使用了以下代码: void CityBook ::getCityList(QUrl url) { //!connect(cityReply, SIGNAL(readyRead()),this, SLOT(httpReadyRead())); cityGuideNetworkAccessManager = new QNetworkAccessManager(this); connec

我正在使用QJson进行解析。但我遇到了一些问题。我使用了以下代码:

void CityBook ::getCityList(QUrl url)  
{  
        //!connect(cityReply, SIGNAL(readyRead()),this, SLOT(httpReadyRead()));  
        cityGuideNetworkAccessManager = new QNetworkAccessManager(this);  
        connect(cityGuideNetworkAccessManager, SIGNAL(finished(QNetworkReply*)),  
             this, SLOT(httpReadyRead(QNetworkReply*)));  
     QNetworkRequest cityRequest(url);  
     cityGuideNetworkAccessManager->get(cityRequest);  
}  

void CityBook::httpReadyRead(QNetworkReply *reply)  
{  
    QMessageBox::information(this, tr("HTTP"),  
                              tr(reply->readAll()),QMessageBox::NoButton  
                            );  
    QJson::Parser parser;  
    bool ok;  
    const QByteArray &resultbyte = reply->readAll();  
    qDebug() << resultbyte;  
    QVariant result1 = parser.parse(reply->readAll(), &ok);  
    qDebug() << result1;  
    QVariantList result=parser.parse(resultbyte,&ok).toList();  
    qDebug()<< result.size();  
    if (!ok)  
    {  
        qFatal("An error occurred during parsing");  
        exit (1);  
    }  
    qDebug() <<"error String"<< parser.errorString();   
    qDebug() <<"error" <parser.errorLine();  
    //! QVariantList entries = result["name"].toList();  
    foreach (QVariant city, result) {   
        QVariantMap names = city.toMap();  
        qDebug() << "\t-" << names.value("name");  
    }  
}  

函数的结果是一个空字节数组。根据文档,这可能意味着没有可用数据或出现错误。

但我可以在QMessageBox中看到结果。请尝试只读取一次reply。首先在temp变量中获取它,然后在消息框中显示它,并使用qdebugyes。。非常感谢你,帕特里斯。我现在可以看到解析结果了。谢谢。但原因是什么?请告诉我。感谢您正在阅读来自网络的回复,一旦阅读QNetworkReply,请等待新的回复。您可以从QIODevice检查标志
Starting /Users/QT Developement/CityBook-build-desktop/CityBook.app/Contents/MacOS/CityBook...  
""   
QVariant(, )  
0   
error String ""   
error 0