с помощью qt5 и пытается разобрать JSONПочему этот json не разбирается в qt?
вот функция:
void MainWindow::parse(QString &json){
QJsonDocument doc(QJsonDocument::fromJson(json.toUtf8()));
QJsonObject obj = doc.object();
QJsonArray result = obj["results"].toArray();
QJsonValue location =result.at(0);
QJsonValue now = result.at(1);
QJsonValue time = result.at(2);
cityName = location.toObject().take("name").toString();
status = now.toObject().take("text").toString();
qDebug()<<time.toString(); // this qdebug is for testing
}
JSON QString выглядит следующим образом:
{
"results": [
{
"location": {
"id": "WX4FBXXFKE4F",
"name": "北京",
"country": "CN",
"path": "北京,北京,中国",
"timezone": "Asia/Shanghai",
"timezone_offset": "+08:00"
},
"now": {
"text": "晴",
"code": "0",
"temperature": "-4"
},
"last_update": "2016-12-09T23:25:00+08:00"
}
]
}
Я ожидаю, что выход из qDebug
быть "2016-12-09T23:25:00+08:00"
, но это просто ""
Также cityname
и status
: ""
.
Что здесь не так? Благодаря!
Вы проверить 'result.size()' ? Вы пытаетесь передать и проверить 'QJsonParseError * error' в' QJsonDocument :: fromJson'? – Jarod42
Пройдите код с отладчиком и изучите значения переменных. Если вы не можете понять это, добавьте отладочные отпечатки между каждым утверждением и отредактируйте вопрос с этим кодом, и это полный вывод. – hyde