Qt中处理json

JSON是一种轻量级的数据交换格式。

那么如何在Qt中处理json?首先要知道四个类。

第一个类QJsonDocument;

  把JSON格式的字符串转换成JSON对象/数组;或者把JSON对象/数组转换成JSON格式字符串。

第二个类QJsonObject;

  处理Json对象,{  }

第三个类QJsonArray;

  处理Json数组,[]

第四个类QjsonValue;

  可以是字符串、整型、布尔、浮点、json对象、json数组...

 

1、组织JSON数据写入磁盘

 

 1     QJsonObject obj;   //定义空对象
 2     QJsonObject sub;
 3     sub.insert("IP",QJsonValue("192.168.31.33"));//插入键值对
 4     sub.insert("Port",QJsonValue("9999"));
 5     obj.insert("server",QJsonValue(sub));
 6 
 7     QJsonDocument doc(obj);
 8     QByteArray data=doc.toJson();
 9     QFile file("tem1.json");
10     file.open(QIODevice::WriteOnly);
11     file.write(data);
12     file.close();

 

server:{

    IP:192.168.31.33,

    Port:9999

    }

2、把磁盘中JSON数据加载到内存

 

 

 1     QFile file("tem.json");
 2     file.open(QIODevice::ReadOnly);
 3     QByteArray data = file.readAll();
 4     file.close();
 5 
 6     QJsonDocument doc =QJsonDocument::fromJson(data);
 7     if(doc.isObject())
 8     {
 9         QJsonObject obj =doc .object();
10         QJsonValue  value=obj.value("server");
11         if(value.isObject())
12         {
13             QJsonObject sub=value.toObject();
14             QString IP = sub.value("IP").toString();
15             QString Port = sub.value("Port").toString();
16         }
17     }

 

Qt中处理json

上一篇:mysql的MVCC


下一篇:mysql查询重复字段的方法