一、JSON的介绍
JOSN,中文名,JS对象表示法,JSON就是一种特殊的字符串
是一种轻量级的数据交换格式,客户端和服务器端的交互,基本都是JSON格式。
JSON格式
{
“name”: "Tom",
"age" : 18,
"gender" :"male"
}
还可以嵌套JSON对象和JSON数组
{
“name” : "China" ,
"info" : {
"asian" : true,
"founded" : 1949
}
}
JSON独立于编程语言,所有编程语言都能用,几乎所有的语言和框架都能解析和生成JSON字符串的库。
c++ jsonCpp、JSON for Modern c++
二、JSON的数据格式
JSON有两种数据格式
1,JSON对象
2,JSON数组
规则:被大括号包裹的是JSON对象,被中括号包裹的是JSON数组
1,JSON数组
JSON数组格式:
[元素1,元素2,元素3, ..... 元素n]
类似于c/c++中的数组,元素之间以逗号分离
不同的是,JSON数组中的元素可以是不同的数据类型,包括:整形,浮点,字符串,布尔类型,JSON数组,JSON对象,空值
2,JSON对象格式
{
“key1” : value1,
"key2" : value2,
"key3" : value3
}
三,JSON在线解析
Qt JSON解析
(1)QJsonObject
QJsonObject封装了JSON中的对象,可以存储多个键值对,,
其中,键为字符串的类型,值为QJsonObject对象
创建一个QJsonObject对象
QJsonObject::QJsonObject();
将键值对添加到QJsonObject对象中
QJsonObject::iterator insert( const QString &key , const QJsonValue &value )
获取QJsonObject对象中键值对的个数
int QJsonObject::count() const;
int QJsonObject::size() const;
int QJsonObject::length() const;
(2) QJsonArray
QJsonArray封装了Json里面的数组,数组中元素的类型统一为QJsonValue类型
(3)QJsonValue封装数据类型