日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

下载 嵌入式qt实战教程pdf_Qt之JSON教程-实战篇

發布時間:2024/7/5 javascript 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 下载 嵌入式qt实战教程pdf_Qt之JSON教程-实战篇 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

以實戰例子講述JSON三兄弟的后續故事。

實戰一:發送JSON網絡請求

作為JSON老大哥的QJsonValue自知對面的大戶人家妹子貌美如花,心里已經打起算盤,先下手為強,后下手遭殃。決定顯示下自己的家底,想起這件事,老大哥回想到5年前錯過的妹子,當時妹子說我們不適合,大哥問,我對你還不夠好么。但妹子說了一句讓老大哥徹底傷心的話。做我的男朋友要有QQ會員,可惜你不是。

老大哥找了QNetworkAccessManager以json的方式發送自己的QQ會員和賬號,以表明自己的誠意。

QJsonArray jsonArray; jsonArray<<1<<2<<3;QJsonObject jsonObject; jsonObject["account"] = "xxxxx"; jsonObject["vip"] = "8"; jsonObject["array"] = jsonArray;QNetworkAccessManager manager; QNetworkRequest request(QUrl("https://www.example.com")); request.setRawHeader("Content-Type", "application/json");QNetworkReply* reply = manager.post(request, QJsonDocument(jsonObject).toJson()); QEventLoop eventLoop; QObject::connect(reply, SIGNAL(finished()), &eventLoop, SLOT(quit())); eventLoop.exec(); // 進入等待返回,但ui事件循環依然進行。QByteArray result = reply->readAll(); qDebug()<<result;

躲著墻角的二哥QJsonObject看到了老大哥的一舉一動,暗暗竊喜,還好我也是QQ會員,于是在發送數據處做了些小修改以彰顯自己的QQ會員等級。

QNetworkReply* reply = manager.post(request, R"({"account": "xxxxx","vip": "8","array": [1, 2, 3]})");

看起來簡單明了,妹子肯定是我的了。二哥,心里暗暗竊喜。

螳螂捕蟬黃雀在后,三弟QJsonArray手拿銀子默念,大哥和二哥都不讓下弟弟的,盡是QQ會員,還好我不賴,昨天問了爹爹拿錢充了vip8。三弟也發自己的QQ會員過去了,只是方式略有個性。

QNetworkReply* reply = manager.post(request, "{"account":"xxxxx","vip":"8","array":[1,2,3]}");

三兄弟按照昨天約定的時間到村口客棧見面。看到妹子趕緊走上前表示自己的QQ會員等級有多高,大哥還沒說出話來就被大妹子打斷了,說你裝載JSON數據麻煩!轉頭又說二哥雖然簡潔,但過于占地方。三弟自然看到面前這么兇惡的妹子,自然不敢說話低著頭說,數據反斜杠轉義過多,不利于數據操作。

三兄弟非常灰心,原來QQ會員也幫不到我了。

實戰二:讀寫json格式的配置文件

老大哥垂頭喪氣說,QQ會員也沒有用了呀,仍了可惜,不如我們埋了它,當是埋葬我們逝去的青春。二哥三弟聽后感動得不要不要的,就趕緊拿了家里祖傳的鏟子挖泥了。他們將QQ信息放(寫)在一個叫config.json的酒壺里。

QJsonObject jsonObject; jsonObject["account"] = "xxxxx"; jsonObject["password"] = "xxxxx" jsonObject["vip"] = "8"; QJsonArray jsonArray { 1, 2, 3 };jsonObject["array"] = jsonArray; QFile file("config.json"); if (! file.open(QIODevice::WriteOnly)) {qDebug()<<"文件打開失敗。";return false; }QByteArray data = QJsonDocument(jsonObject).toJson(); file.write(data); file.close();

一天晚上管家拿著鏟子在挖泥,手里捧著他們三兄弟前幾天放的青春。管家碎碎念說了一句,終于拿到你們的QQ了,還是會員。

QFile file("config.json"); if (! file.open(QIODevice::ReadOnly)) {qDebug()<<"文件打開失敗。";return false; }QByteArray data = file.readAll(); QJsonParseError jsonError; QJsonDocument jsonDoc = QJsonDocument::fromJson(data, &jsonError); if (jsonError.error != QJsonParseError::NoError) {qDebug()<<"Json文件解析錯誤。";return false; }if (jsonDoc.isObject()) {QJsonObject jsonObject = jsonDoc.object();qDebug()<<jsonObject; } else if (jsonDoc.isArray()) {QJsonArray jsonArray = jsonDoc.array();qDebug()<<jsonArray; } else {qDebug()<<"Json文件解析為空。"; }file.close();
  • 文章首發于微信公眾號:Qt君

總結

以上是生活随笔為你收集整理的下载 嵌入式qt实战教程pdf_Qt之JSON教程-实战篇的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。