【问题标题】:Using QjsonDocument to parse api data in QTQT中使用QjsonDocument解析api数据
【发布时间】:2015-09-12 17:45:35
【问题描述】:

我有下面的 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();

【问题讨论】:

  • 它不是二进制的。它是人类可读的。

标签: c++ json qt parsing qjson


【解决方案1】:

改用:

QJsonDocument::fromJson(reply->readAll()) 而不是 fromBinary,你应该很高兴。

如果在那之后仍然有问题,请将可选的QJsonParseError 参数传递给静态函数,看看它在抱怨什么。

希望对您有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-19
    • 2013-06-29
    • 2020-09-12
    相关资源
    最近更新 更多