最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Qt寫入Json文件的方法詳解(含源碼+注釋)

 更新時間:2022年10月21日 10:34:53   作者:lw只吃億點(diǎn).  
在Qt庫中,為JSON的相關(guān)操作提供了完整的類支持,下面這篇文章主要給大家介紹了關(guān)于Qt寫入Json文件(含源碼+注釋)的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下

一、示例Json文件內(nèi)容

下方為本文所使用的Json文件的內(nèi)容,其中包含字符串、數(shù)值、布爾、null、對象、數(shù)組等(寫入方式在本文第三節(jié))

{
    "array": [
        "str",
        88,
        null
    ],
    "bool": true,
    "jChildObj": {
        "age": 25,
        "name": "tom"
    },
    "null": null,
    "number": 66,
    "str": "String"
}

二、Json寫入會使用的類(介紹寫入所使用的類在本文中的作用,個人理解)

  • QJsonDocument:使用其提供的toJson函數(shù)獲取json串
  • QJsonObject:創(chuàng)建用于存儲所有類型的根對象,和創(chuàng)建對象類型的變量
  • QJsonArray:用于創(chuàng)建數(shù)組變量,并存放數(shù)組數(shù)據(jù)

三、Json文件的寫入

3.1 常規(guī)類型的寫入

創(chuàng)建根對象(QJsonObject)

	//創(chuàng)建QJsonObject對象(姑且稱之為根對象),用于存放需要寫入的數(shù)據(jù)
    QJsonObject jObj;

常規(guī)對象的添加

	//添加字符串類型
    jObj.insert("str", "String");

    //添加數(shù)值類型(在值為具體值時其中的QJsonValue可以不使用,直接放入值本身)
    jObj.insert("number", QJsonValue(66));

    //添加布爾類型
    jObj.insert("bool", true);

    //添加空值(直接放一個QJsonValue對象即可,不傳入值時默認(rèn)為空)
    jObj.insert("null", QJsonValue());

3.2 對象及數(shù)組類型的添加

對象類型

	//對象類型需要一個子QJsonObject對象存放,然后在添加到根QJsonObject對象中
    QJsonObject jChildObj;
    //添加值時直接使用如上方法添加具體值即可
    jChildObj.insert("name", "tom");
    jChildObj.insert("age", 25);

    //當(dāng)子對象的值添加完成后將子對象添加到根對象中即可
    jObj.insert("jChildObj", jChildObj);

數(shù)組類型

	//創(chuàng)建數(shù)組對象
    QJsonArray array;
    //QJsonArray容器和普通容器的添加方法一樣,都可調(diào)用append函數(shù)
    array.append("str");
    array.append(88);
    array.append(QJsonValue());
    //數(shù)組中元素添加完成后將其添加到根對象中
    jObj.insert("array", array);

3.3 Json串寫入文件

    //創(chuàng)建QJsonDocument對象并將根對象傳入
    QJsonDocument jDoc(jObj);
    //打開存放json串的文件
    QFile file("./jsonTest2.json");
    if(!file.open(QIODevice::WriteOnly))
        return 0;
    //使用QJsonDocument的toJson方法獲取json串并保存到數(shù)組
    QByteArray data(jDoc.toJson());
    //將json串寫入文件
    file.write(data);
    file.close();

總結(jié)

建議學(xué)習(xí)前先了解一下Json文件格式,組合類型只需將需要的類型添加到存放的類型中即可

到此這篇關(guān)于Qt寫入Json文件的文章就介紹到這了,更多相關(guān)Qt寫入Json文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

相關(guān)文章

  • C語言do關(guān)鍵字的具體使用

    C語言do關(guān)鍵字的具體使用

    本篇文章主要介紹了C語言do關(guān)鍵字的具體使用,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • C 語言基礎(chǔ)教程(我的C之旅開始了)[六]

    C 語言基礎(chǔ)教程(我的C之旅開始了)[六]

    C 語言基礎(chǔ)教程(我的C之旅開始了)[六]...
    2007-02-02
  • C或C++報錯:ld returned 1 exit status報錯的原因及解決方法

    C或C++報錯:ld returned 1 exit status報錯的原因及解

    這篇文章主要介紹了C或C++報錯:ld returned 1 exit status報錯的原因及解決方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-02-02
  • C++與Lua交互內(nèi)存分配詳解

    C++與Lua交互內(nèi)存分配詳解

    C/C++ 與 Lua 的交互是通過 lua_State 這一句柄進(jìn)行交互,我們常規(guī)的創(chuàng)建都是通過 luaL_newstate 這一輔助函數(shù),這篇文章主要給大家詳細(xì)介紹了C++與Lua交互內(nèi)存分配,文中有相關(guān)的代碼示例供大家參考,需要的朋友可以參考下
    2023-11-11
  • 數(shù)據(jù)結(jié)構(gòu)之AVL樹詳解

    數(shù)據(jù)結(jié)構(gòu)之AVL樹詳解

    這篇文章主要介紹了數(shù)據(jù)結(jié)構(gòu)之AVL樹詳解,本文非常細(xì)致的講解了AVL樹的基礎(chǔ)知識、AVL樹的旋轉(zhuǎn)操作、AVL數(shù)的插入和刪除操作等,需要的朋友可以參考下
    2014-08-08
  • C語言實現(xiàn)簡單通訊錄功能

    C語言實現(xiàn)簡單通訊錄功能

    這篇文章主要為大家詳細(xì)介紹了C語言實現(xiàn)簡單通訊錄功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • jQuery移動頁面開發(fā)中主題按鈕的設(shè)計示例

    jQuery移動頁面開發(fā)中主題按鈕的設(shè)計示例

    這篇文章主要介紹了jQuery移動頁面開發(fā)中主題按鈕的設(shè)計示例,jQuery是當(dāng)今最具人氣的JavaScript開發(fā)類庫,需要的朋友可以參考下
    2015-12-12
  • C++11 shared_ptr 與 make_shared源碼剖析詳解

    C++11 shared_ptr 與 make_shared源碼剖析詳解

    這篇文章主要介紹了C++11 shared_ptr 與 make_shared的源碼剖析,本文通過示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-09-09
  • C/C++使用fmt庫實現(xiàn)格式化字符串

    C/C++使用fmt庫實現(xiàn)格式化字符串

    fmt庫是一個高效、易用的C++格式化庫,可以幫助我們方便地進(jìn)行字符串格式化、輸出、日志記錄等操作,下面我們就來學(xué)習(xí)一下fmt格式化字符串的具體操作吧
    2023-12-12
  • C++中如何將數(shù)據(jù)保存為CSV文件

    C++中如何將數(shù)據(jù)保存為CSV文件

    這篇文章主要介紹了C++中如何將數(shù)據(jù)保存為CSV文件,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11

最新評論

昌江| 保德县| 红河县| 滕州市| 颍上县| 响水县| 防城港市| 平昌县| 资源县| 郁南县| 溧水县| 天镇县| 疏附县| 元朗区| 错那县| 美姑县| 稻城县| 东乡族自治县| 定安县| 甘谷县| 搜索| 虎林市| 新邵县| 郑州市| 沭阳县| 建宁县| 蚌埠市| 安西县| 八宿县| 开封县| 青冈县| 工布江达县| 达州市| 大连市| 德钦县| 成武县| 稻城县| 栾川县| 上思县| 礼泉县| 高碑店市|