QT解析和组装json
2018-08-02 05:43:50来源:博客园 阅读 ()
json这个小朋友熟悉又陌生,今天给同学们好好讲讲QT是如何使用json的,一句话:简单
1、什么是json?
A:json就是个<key,value>字符串
①一个json对象
{"name":"xupeidong","age":"18"}
②一个json数组里面嵌套json对象
[
{"price": "1", "name": "1", "id": "1"},
{"price": "2", "name": "2", "id": "2"},
{"price": "3", "name": "3", "id": "3"}
]
2、QT里面如何使用json
#include <QJsonDocument> //解析类,用于将json转换为QByteArrar,或从QByteArray解析出json
#include <QJsonArray> // 封装json数组:["1","2","3"]
#include <QJsonObject> // 封装json对象:{"name": "111","pass": 222}
#include <QJsonParseError> //错误类
①json对象
组装:
QJsonObject json;
json.insert("name", "111");
json.insert("pass", 222);
QJsonDocument doc;
doc.setObject(json);
QByteArray byte = document.toJson(QJsonDocument::Compact);
解析:
QJsonParseError error;
QJsonDocument doc = QJsonDocument::fromJson(byte, &error);
if(error.error == QJsonParseError::NoError)
{
if(doc.isObject())
{
QJsonObject obj = doc.object();
if(obj.contains("name"))
{
QJsonValue value = obj.take("name");
qDebug() << value.toString();
}
}
}
②json数组
组装:
格式:"[\"000\",\"111\"]" QJsonArray json; json.insert(0, "000"); json.insert(1, "111"); QJsonDocument doc; doc.setArray(json); QByteArray byte = doc.toJson(QJsonDocument::Compact);
还可以插入json对象:
格式:"[{\"0\":\"000\"},{\"1\":\"111\"}]"
QJsonArray json;
QJsonObject obj;
obj.insert("0","000");
json.insert(0, obj);
QJsonObject obj1;
obj1.insert("1","111");
json.insert(1, obj1);
QJsonDocument doc;
doc.setArray(json);
QByteArray byte = doc.toJson(QJsonDocument::Compact);
解析:
QJsonParseError error;
QJsonDocument doc = QJsonDocument::fromJson(byte, &error);
if(error.error == QJsonParseError::NoError)
{
if(doc.isArray())
{
QJsonArray array = doc.array();
for(int i=0; i<array.size();i++)
{
QJsonValue value = array.at(i);
}
}
}
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- QT5 解析JSON文件 2020-06-09
- 解析一下C++的异常处理 2020-05-15
- c++虚函数例子解析 2020-04-03
- QT5中Json文件与QString的相互转化 2020-03-19
- Qt5 error LNK2019 无法解析的外部符号的解决办法 2020-02-14
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash
