I have the below JSON
which I am attempting to parse out.
{
"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
}
}
This is how it comes formatted from the api in question.
However using the below example, I can not manage to pull out any of the data from the above json. I have attempted several ways to pull this data but have had no luck thus far.
QJsonDocument doc = QJsonDocument::fromBinaryData(reply->readAll());
QString rootObj = doc.object().value("").toString();
qDebug() << "results.count:" << rootObj.count();
Switch to using:
QJsonDocument::fromJson(reply->readAll()) instead of fromBinary and you should be good to go.
If you are still having trouble after that, pass in the optional
QJsonParseError
parameter into the static function and see what it is complaining about.Hope that helps.