Qt_Json文件读写的简单实例
1、Qt文件中的Json相关类的介绍
(1)QJsonDocument
QJsonDocument是一个包装完整JSON文档的类,它既可以从基于UTF-8编码的文本表示法,也可以从Qt自己的二进制格式中读取和写入这个文档。
一个JSON文档可以使用QJsonDocument::fromJson()从基于文本的表示方式转换为QJsonDocument,toJson()将其转换回文本。该解析器非常快速和高效,并将JSON转换为Qt使用的二进制表示。
可以通过 !isNull() 查询解析后文档的有效性。可以使用isArray()和isObject()查询一个文档是否包含一个数组或一个对象。可以使用array()或object()检索文档中包含的数组或对象,然后进行读取或操作。
(2)QJsonObject
一个JSON对象是一个键值对的列表,其中键是唯一的字符串,而值则由QJsonValue表示。一个QJsonObject可以转换为一个QVariantMap,也可以从QVariantMap转换为QJsonObject。
你可以用size()、insert()和remove()条目查询它的(键、值)对的数量,并使用标准的C++迭代器模式对其内容进行迭代。
QJsonObject是一个隐式共享类,只要不被修改,它就会与它所创建的文档共享数据。你可以通过QJsonDocument将对象转换成基于文本的JSON。
(3)QJsonValue
JSON中的值可以是6种基本类型之一。JSON是一种存储结构化数据的格式。它有6种基本数据类型。
一个值可以代表以上任何一种数据类型。此外,QJsonValue有一个特殊的标志来表示未定义的值。这可以通过isUndefined()来查询。
值的类型可以用type()或isBool()、isString()等访问器来查询。同样,也可以用toBool()、toString()等将值转换为存储在其中的类型。
(4)QJsonArray
JSON数组是一个值的列表。该列表可以通过从数组中插入和删除QJsonValue来操作。
一个QJsonArray可以被转换为一个QVariantList。你可以使用size()、insert()和remove()来查询它的条目数,并使用标准的C++迭代器模式对其内容进行迭代。
QJsonArray是一个隐式共享类,只要不被修改,它就会与它所创建的文档共享数据。你可以通过QJsonDocument将数组转换成基于文本的JSON。
2、一个简单实例
(1)构建上面的json文件
(2)解析上面的json文件
注:Qt中Json相关类的介绍来自Qt官方文档。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/19397.html