Qt中的JSON支持

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wyy626562203/article/details/82734920

Qt中的JSON支持

Qt为处理JSON数据提供支持。 JSON是一种编码从Javascript派生的对象数据的格式,但现在广泛用作互联网上的数据交换格式。
Qt中的JSON支持提供了一个易于使用的C++ API来解析,修改和保存JSON数据。 它还支持以二进制格式保存此数据,该格式直接“mmap”且访问速度非常快。
有关JSON数据格式的更多详细信息,请访问json.org和RFC-7159。

概述

JSON是一种存储结构化数据的格式。 它有6种基本数据类型:

  • bool
  • double
  • string
  • array
  • object
  • null

值可以具有上述任何类型。 布尔值由JSON中的字符串true或false表示。 JSON没有明确指定数字的有效范围,但Qt中的支持仅限于双精度的有效范围。字符串可以是任何有效的unicode字符串。 数组是值列表,对象是键/值对的集合。 对象中的所有键都是字符串,对象不能包含任何重复键。
JSON的文本表示将数组括在方括号([…])和大括号({…})中的对象中。 数组和对象中的x项用逗号分隔。 键和键之间的分隔符是冒号(:)。
一个简单的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支持包含以下类:

描述
QJsonArray Encapsulates a JSON array
QJsonDocument Way to read and write JSON documents
QJsonParseError Used to report errors during JSON parsing
QJsonObject Encapsulates a JSON object
QJsonObject::const_iterator QJsonObject::const_iterator class provides an STL-style const iterator for QJsonObject
QJsonObject::iterator QJsonObject::iterator class provides an STL-style non-const iterator for QJsonObject
QJsonValue Encapsulates a value in JSON

猜你喜欢

转载自blog.csdn.net/wyy626562203/article/details/82734920