QT中使用QjsonDocument解析api数据
Using QjsonDocument to parse api data in QT
我有下面的 JSON
我正在尝试解析它。
{
"btc_usd": {
"high": 245.304,
"low": 240.10001,
"avg": 242.702005,
"vol": 1406884.29972,
"vol_cur": 5776.14075,
"last": 242.9,
"buy": 243.022,
"sell": 242.9,
"updated": 1435270412
},
"btc_rur": {
"high": 13150,
"low": 12912,
"avg": 13031,
"vol": 5397157.58979,
"vol_cur": 413.89807,
"last": 13139,
"buy": 13139,
"sell": 13071.00001,
"updated": 1435270412
}
}
这是问题 api 的格式。
但是使用下面的示例,我无法从上面的 json 中提取任何数据。我尝试了几种方法来提取这些数据,但到目前为止都没有成功。
QJsonDocument doc = QJsonDocument::fromBinaryData(reply->readAll());
QString rootObj = doc.object().value("").toString();
qDebug() << "results.count:" << rootObj.count();
切换到使用:
QJsonDocument::fromJson(reply->readAll()) 而不是 fromBinary,你应该可以开始了。
如果在那之后您仍然遇到问题,请将可选的 QJsonParseError
参数传递给静态函数,看看它在抱怨什么。
希望对您有所帮助。
我有下面的 JSON
我正在尝试解析它。
{
"btc_usd": {
"high": 245.304,
"low": 240.10001,
"avg": 242.702005,
"vol": 1406884.29972,
"vol_cur": 5776.14075,
"last": 242.9,
"buy": 243.022,
"sell": 242.9,
"updated": 1435270412
},
"btc_rur": {
"high": 13150,
"low": 12912,
"avg": 13031,
"vol": 5397157.58979,
"vol_cur": 413.89807,
"last": 13139,
"buy": 13139,
"sell": 13071.00001,
"updated": 1435270412
}
}
这是问题 api 的格式。
但是使用下面的示例,我无法从上面的 json 中提取任何数据。我尝试了几种方法来提取这些数据,但到目前为止都没有成功。
QJsonDocument doc = QJsonDocument::fromBinaryData(reply->readAll());
QString rootObj = doc.object().value("").toString();
qDebug() << "results.count:" << rootObj.count();
切换到使用:
QJsonDocument::fromJson(reply->readAll()) 而不是 fromBinary,你应该可以开始了。
如果在那之后您仍然遇到问题,请将可选的 QJsonParseError
参数传递给静态函数,看看它在抱怨什么。
希望对您有所帮助。