Qt中的JSON支持
Qt提供了处理JSON数据的支持。JSON是一种由JavaScript派生出来的数据编码格式,但现在被广泛用作互联网上的数据交换格式。
Qt中的JSON支持提供了一个易于使用的C++ API来解析、修改和保存JSON数据。
有关JSON数据格式的更多详细信息可以在json.org和RFC 4627中找到。
概要
JSON是一种存储结构化数据格式的答案。它有6种基本数据类型
- bool
- double
- string
- 数组
- 对象
- null
一个值可以是以上任何一种类型。布尔值在JSON中由字符串“true”或“false”表示。JSON没有显式指定数字的有效范围,但Qt中的支持限于双精度浮点数的有效范围和精度。一个字符串可以是任何有效的Unicode字符串。一个数组是值的列表,一个对象是一组键/值对。一个对象中所有键都是字符串,并且一个对象不能包含任何重复的键。
JSON文本表示中,数组由方括号([ ... ])包围,对象由花括号({ ... })包围。数组中的条目由逗号分隔。一个对象中键和值之间的分隔符是冒号(:)。
一个简单的JSON文档,用于编码人物信息,如年龄、地址和电话号码,可能看起来像这样
{ "FirstName": "John", "LastName": "Doe", "Age": 43, "Address": { "Street": "Downing Street 10", "City": "London", "Country": "Great Britain" }, "Phone numbers": [ "+44 1234567", "+44 2345678" ] }
上述示例包含一个具有5个键/值对的对象。其中两个值是字符串,一个是数值,一个是另一个对象,最后一个是数组。
一个有效的JSON文档要么是一个数组,要么是一个对象,因此一个文档总是以方括号或花括号开始。
JSON类
所有JSON类都是基于值的,隐式共享类。
Qt中的JSON支持包括以下类
另请参阅保存和加载游戏。
封装一个JSON数组 | |
读取和写入JSON文档的方法 | |
封装一个JSON对象 | |
QJsonObject::const_iterator类为QJsonObject提供了STL风格的const迭代器 | |
QJsonObject::iterator类为QJsonObject提供了STL风格的non-const迭代器 | |
用于报告JSON解析过程中的错误 | |
封装JSON中的值 |
© 2024 Qt公司有限公司。此处包含的文档贡献者的版权属于各自的拥有者。此处提供的文档是根据GNU自由文档许可协议版本1.3条款授权的,由免费软件基金会发布。Qt及其相关商标是芬兰Qt公司及其在全世界其他国家的商标。所有其他商标均为其各自所有者的财产。