gpt4 book ai didi

C++ Qt 无法正确解析 JSON 数组

转载 作者:行者123 更新时间:2023-11-30 01:03:32 24 4
gpt4 key购买 nike

我正在尝试用 Qt 解析 json,但没有成功。这是我从服务器获得的输出:

[{"anni":2019},{"anni":2018},{"anni":2017}]

从这个简单的 php 生成的位置:

header('Content-Type: application/json');
echo json_encode($data);

$data是一个包含您在上面看到的值的数组。我在 Qt 5.11.2 中使用这段代码:

void MainWindow::showYears() {   

//reply is a QNetworkReply* reply;
if (reply->error() != QNetworkReply::NoError) {
//some error managment
} else {

auto responsedata = reply->readAll();

QJsonArray years = QJsonDocument::fromJson(responsedata).array();
qDebug() << QString{responsedata};

for(const QJsonValue& y : years) {
QJsonObject obj = y.toObject();

//doing "qDebug() << r" shows that r is "" (empty!)
auto r = obj["anni"].toString();

ui->comboBoxP->addItem(r);
}

}

}

这里有什么问题吗?


请注意qDebug() << QString{responsedata};版画 "[{\"anni\":2019},{\"anni\":2018},{\"anni\":2017}]"

最佳答案

您的字段 anni 的值是一个整数。使用成员函数 toString 不会将其转换为字符串表示形式。它将返回 NULL。 http://doc.qt.io/qt-5/qjsonvalue.html#toString

尝试使用:auto r = QString::number(obj["anni"].toInt());

关于C++ Qt 无法正确解析 JSON 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53103489/

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