qt QJsonDocument QVariant
来源:互联网 发布:scala编程思想 下载 编辑:程序博客网 时间:2024/05/21 18:37
qt core模块自带的就有处理json的类,然后发现有个迭代器,注意的地方可能就是嵌套的array的地方可能要注意一下 QVariant的问题:
QJsonParseError json_error; //数据读入 QJsonDocument parse_doucment = QJsonDocument::fromJson(byte_array, &json_error); if(json_error.error == QJsonParseError::NoError) {。。。。}
然后用到的也就是
bool isArray() const
bool isEmpty() const
bool isNull() const
bool isObject() const
还有相对应的类似的toxxx的函数了,转化其实很方便
然后迭代器对于遍历数据大的时候还是有用的
for (QJsonObject::Iterator it = obj.begin();it != obj.end(); it++){ QJsonValue value=it.value();//it.key()取关键字字串 QJsonXXX XXX=value.toXXX();//转化成其它}最后如果有类似于数组中的数组子类的嵌套,需要转化成toArray().toVariantList()之后遍历list取值(VariantList就是一个list,定义好了元素类型而已)
那么拿到的VariantList.at(int)都是一个QVariant,这个类型可以用来存储很多的定义的类型,所以上述情况可能会自动转化成一个VariantList的类型。
转化可以通过调用toxxx来进行,也可以查cancover去看能否实现转化,qdebug显示一下能够很清楚的知道他现在具体存的是什么值。然后更具需要去处理。
要看好因为如果比如一个list你转成array,默认转不过去他会传过去一个空的值,所以下面的程序可能就拿不到,所以最好转之前做个判断。
不过单单就QVariant这个来说还是很好用的。、
然后反过来json的插入通过简单的insert就可以替换原来的值,如果没有插入新的值。tojson可选存储的格式。对了 然后取值take是会把这个对象值拿走的。at就不会。
0 0
- qt QJsonDocument QVariant
- QT QVariant
- Qt--QVariant
- QJsonDocument
- Qt —— QVariant
- Qt QVariant类
- QT——QVariant
- QT QVariant 用法
- Qt中的Qvariant类型
- Qt::QList 转为 QVariant
- Qt之QVariant
- Qt 之 QJsonDocument 解析json 数据
- Qt:QJson操作json文件(QJsonDocument、QJsonArray、QJsonObject)
- QVariant
- QVariant
- QVariant
- QVariant
- QVariant
- 安全的进行new 操作
- 给定一个数组,该数组存贮R,G,B三种字符,将该数组按RGB顺序排序,不能使用辅助内存空间,且只能遍历数组一次。
- 办公室“杀手” 消耗你的孕力
- Android 最火的快速开发框架XUtils
- Python
- qt QJsonDocument QVariant
- Android 自动化测试工具Robotium 之Solo类的详细说明
- C语言单链表实现19个功能完全详解
- (二)创造一个简单的ROS package
- c# 泛型 类型参数的约束(C# 编程指南)
- acm-Cantor
- 几种常见的分词器
- 在VS中编译Opencascade6.6.0
- (三)建立和编译package