QT解析JSON

[
    {
        "s": {
            "id": 3,
            "b": 1,
            "s": 1,
            "o": 0,
            "name": "布林线",
            "desc": "56CW5b2i5Zu+54Sm54KtMTB0aWNr44CBMjB0aWNrIDQwdGljayDluIPmnpfnur/nrZbnlaU=",
            "level": {
                "1": "5 tick",
                "2": "10 tick",
                "3": "20 tick",
                "4": "40 tick",
                "5": "50 tick"
            }
        }
    }
]

   QJsonParseError e;
    Account* accout;
    QJsonDocument document = QJsonDocument::fromJson(m_unzip_buffer.c_str(), &e);
    if(e.error == QJsonParseError::NoError && !document.isNull()){
        if(document.isArray()){
            QJsonArray array = document.array();
            accout = g_stockData.current_account;
            if(accout->strategys.size()>0)
                accout->strategys.clear();//清理
            for(int index = 0;index<array.size();index++){
                QJsonObject value = array.at(index).toObject().value("s").toObject();
                StrategyItemInfo strategy_item;
                strategy_item.userInfo.strategy_id = value.value("id").toInt();
                strategy_item.userInfo.buy = value.value("b").toInt();
                strategy_item.userInfo.sell = value.value("s").toInt();
                strategy_item.userInfo.name = value.value("name").toString();
                strategy_item.userInfo.desc = QString(QByteArray::fromBase64(value.value("desc").toString().toLatin1()));//base64解码
                QJsonObject level = value.value("level").toObject();
                QStringList keys = level.keys();
                for(QString l:keys){
                    strategy_item.userInfo.level.insert(l,level.value(l).toString());
                }
            }
        }
    }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值