【问题标题】:QJSON using in Mac - getting some issues在 Mac 中使用 QJSON - 遇到一些问题
【发布时间】:2010-09-17 06:09:38
【问题描述】:

我正在使用 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");  
    }  
}  

输出是:

Starting /Users/QT Developement/CityBook-build-desktop/CityBook.app/Contents/MacOS/CityBook...  
""   
QVariant(, )  
0   
error String ""   
error 0  

【问题讨论】:

    标签: qt qt4 qjson


    【解决方案1】:

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

    【讨论】:

    • 但是我可以在 QMessageBox 中看到结果。
    • 尝试只阅读一次回复。首先在临时变量中获取它,然后在消息框中显示它并使用 qdebug
    • 是的 .. 非常感谢帕特里斯。我现在可以看到解析结果。非常感谢。但原因是什么?请告诉我。谢谢
    • 您正在阅读来自网络的回复,一旦阅读 QNetworkReply 等待新的回复。您可以检查来自 QIODevice 的标志
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多