qt中json数据解析

先了解下json数据(网上copy了一段,我自己的理解可能更多是key-value这种结构,可能也是刚接触这种数据)

1. “名称/值”对的集合(A collection of name/value pairs)。不同的语言中,它被理解为对象(object),记录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组 (associative array)。

2. 值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array)。

下面放上来数据解析代码:

1.先查到数据中是否存在需要查找的key值,直接取出来对应的value值

QJsonValue MainWindow::get_data_from_jsonobject(QJsonValue data,QString str)
{
    QJsonValue value;
    if(data.isObject())
    {
        QJsonObject jo = data.toObject();
        //是否含有key  rootpath

        if (jo.contains(str))
        {
            //取出key为rootpath的值
            value = jo.value(str);
            //qDebug()<<value;
        }
    }
    return value;
}

2.取出来值后需要根据相应的类型做一个转换,QJsonValue格式可转成下图几种,转成相应的格式取出数据即可。

3.这个方法只会取出最上层的数据,如果是value对应的数据仍然是json格式则仍需要调用上面的结构再次解析才可获得最终的value值

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值