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的信息,也更方便知道自己要提取的值