Qt学习之JSON文档操作

一、QJsonValue

1、简介
QJsonValue类封装了Json中的值。
Json的值有六种基本类型,可用type()或isBool()、isString()等来查询value的类型。类似的,可以用toBool()、toString()等将一个value转换成存储在Json里面的value的类型。

二、QJsonDocument

1、简介
提供了读写Json文档的方法。可以使用fromJson()将基于JSON文档的文本形式转换为QJsonDocument对象。toJSON()可以将QJsonDocument转换回文本形式。

三、QJsonObject

1、简介
用于封装JSON对象。JSON对象是包含键值对的链表,其中键是唯一的字符串,其值由QJsonValue对象。可以用size()来获得键值对的数目,insert()、remove()分别用来插入和删除pair。可以用标准C++的迭代器模式(iterator pattern)来迭代其内容。​可以通过QJsonDocument将QJsonObject和文本格式相互转换。
2、示例

QJsonObject json;
json.insert("Name", "Qt");//插入值
json.insert("From", 1991);
json.insert("Cross Platform", true);
// 构建 JSON 文档
QJsonDocument document;
document.setObject(json);

四、QJsonArray

1、简介
QJsonArray封装了Json数组。JSON数组是值的链表,可以插入和删除QJsonValue。可以用size(), insert(), removeAt()进行操作,还可以用标准C++的迭代器模式来迭代其内容。
2、示例

//定义Json数组对象
QJsonArray array;
array.append(13);
array.append("itcast");
array.append(3.1415);
array.append(true);
//Json文档
QJsonDocument doc(array);
//转化为字节
QByteArray arr = doc.toJson();

五、全部东西整合的示例可看此链接里的第五点复杂Json生成和解析

详细示例
可通过以下链接对Json文档的每一个操作类进行更细致的了解
Qt中QJsonDocument 类
Qt中QJsonArray类
Qt中QJsonObject类
Qt中QJsonValue类

猜你喜欢

转载自blog.csdn.net/m0_56626019/article/details/129854508