本文主要是介绍QT教程-十六,QT中如何解析JSON,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一,对json的初步认识
(这里我们主要说明最常用的,以一个宏观的概念来说一下),json是一种数据格式,作用就是便于传递信息,我们可以按其结构和对应关系,拿到我们想要的数据。其主要结构为:json对象(大括号包裹 { }),以及json数组(中括号包裹[ ])。
例子:
json对象{"name":"张三", "age":"20", "city":"西安"
}
json数组
[ "Name","张三","age","20"
]
二,QT中操作json的类
三,具体操作
1, 首先,我们接受到了json数据data,我们就用QJsonDocument来将其转化为json文档doc
QJsonDocument doc = QJsonDocument::fromJson(data);
2,判断接受的json是json对象还是json数组
if(!doc.isObject()){qDebug()<<"not an object";QJsonArray jsonarr = doc.array(); //不是对象就用数组QJsonArray 接受}else{QJsonObject jsonObj = doc.object(); //是对象就用对象QJsonObject 接受qDebug()<<"json对象内容:"<<jsonObj;}
3,接收完毕后,是对象,那就用键值对提取需要的值,是数组,那就使用索引访问提取需要的值
4,可以将接收的数据放入在线的json解析工具,可以更好的知道自己接收的json的信息,也更方便知道自己要提取的值
这篇关于QT教程-十六,QT中如何解析JSON的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!