现在帮人做网站赚钱吗,wordpress olam,保定哪家公司做网站,网站热度查询文章目录 1. JSON 有什么作用?2. JSON 的特点3. JSON 的两种数据格式3.1 JSON 数组3.2 JSON 对象 4. Qt 中如何使用 JSON 呢#xff1f;4.1 QJsonObject4.2 QJsonArray4.3 QJsonValue4.4 QJsonDocument 5. 构建 JSON 字符串6. 解析 JSON 字符串 1. JSON 有什么作用? #x… 文章目录 1. JSON 有什么作用?2. JSON 的特点3. JSON 的两种数据格式3.1 JSON 数组3.2 JSON 对象 4. Qt 中如何使用 JSON 呢4.1 QJsonObject4.2 QJsonArray4.3 QJsonValue4.4 QJsonDocument 5. 构建 JSON 字符串6. 解析 JSON 字符串 1. JSON 有什么作用? ① JSON 即为 JS对象表示法因为它和 JS中对象的写法很相似与JavaScript是没啥关系的 ② JSON 本质是一种特殊格式的字符串 ③ JSON 是一种轻量级的数据交互格式客户端和服务端数据交互基本都是JSON格式 2. JSON 的特点 ① 便于阅读和书写 除JSON外还有一种数据交互的格式 XML但是JSON更便于书写和阅读 ② 独立于编程语言几乎所有的编程语言和开发环境中都有生成和解析 JSON字符串的库 ③ 网络传输的标准数据格式 3. JSON 的两种数据格式
JSON有两种数据格式 ⚽ JSON 对象被 { }包裹 ⚽ JSON 数组被 [] 包裹
3.1 JSON 数组
JSON 数组中可以放置任意的类型可以在数组中放置 JSON对象JSON数组
3.2 JSON 对象 JSON 对象是键值对的形式键的类型是字符串值的类型可以为数组对象整形浮点型 4. Qt 中如何使用 JSON 呢
4.1 QJsonObject 4.2 QJsonArray 4.3 QJsonValue 4.4 QJsonDocument 5. 构建 JSON 字符串
#include QCoreApplication
#include QJsonArray
#include QJsonDocument
#include QJsonObject#include QDebug
#include QFilevoid writeJson()
{QJsonObject rootQJsonObject;// 插入 name 字段rootQJsonObject.insert(name, China);// 插入 info 字段QJsonObject infoQJsonObject;infoQJsonObject.insert(capital, beijing);infoQJsonObject.insert(asian, true);infoQJsonObject.insert(founded, 1949);rootQJsonObject.insert(info, infoQJsonObject);// 插入 provinces 字段QJsonArray provincesArray;QJsonObject sdProvincesQJsonObject;sdProvincesQJsonObject.insert(name, shangdong);sdProvincesQJsonObject.insert(capital, jinan);QJsonObject zjProvincesQJsonObject;zjProvincesQJsonObject.insert(name, zhejiang);zjProvincesQJsonObject.insert(capital, hangzhou);provincesArray.append(sdProvincesQJsonObject);provincesArray.append(zjProvincesQJsonObject);rootQJsonObject.insert(provinces, provincesArray);// 把 json 对象转换成为 字符串QJsonDocument doc(rootQJsonObject);QByteArray json doc.toJson();// 打印输出qDebug() QString(json).toUtf8().data();// 将 json 字符串写入到文件QFile file(d:\\china.json);file.open(QFile::WriteOnly);file.write(json);file.close();}int main(int argc, char *argv[])
{QCoreApplication a(argc, argv);writeJson();return a.exec();
}
6. 解析 JSON 字符串 #include QCoreApplication
#include QFile
#include QJsonArray
#include QJsonDocument
#include QJsonObject#include QDebugvoid readJson()
{// 1. 读取文件QFile file(d:\\china.json);file.open(QFile::ReadOnly);QByteArray json file.readAll();file.close();QJsonDocument doc QJsonDocument::fromJson(json);if (!doc.isObject()) {qDebug() Not an object;return;}QJsonObject obj doc.object();QStringList keys obj.keys();for (int i 0; i keys.size(); i ){// 获取 key - valueQString key keys[i];QJsonValue value obj.value(key);if (value.isBool()){qDebug() key : key value : value.toBool();} else if (value.isDouble()) {qDebug() key : key value : value.toDouble();} else if (value.isString()) {qDebug() key : key value : value.toString();} else if (value.isObject()) {qDebug() key :;QJsonObject infoObject value.toObject();QString capital infoObject[capital].toString();bool asian infoObject[asian].toBool();QString founded infoObject[founded].toString();qDebug() capital : capital;qDebug() asian : asian;qDebug() founded founded;} else if (value.isArray()){QJsonArray provincesArray value.toArray();for (int i 0; i provincesArray.size(); i ){QJsonObject sdJsonObject provincesArray[i].toObject();qDebug() name: sdJsonObject[name].toString();qDebug() capital: sdJsonObject[capital].toString();}}}
}int main(int argc, char *argv[])
{QCoreApplication a(argc, argv);readJson();return a.exec();
}