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

C++ qt 使用jsoncpp json 讀寫操作

 更新時間:2021年11月26日 10:50:23   作者:決戰(zhàn)小樹林  
JsonCpp是一個基于C++語言的開源庫,用于C++程序的Json數(shù)據(jù)的讀寫操作,本文重點給大家介紹C++ qt 使用jsoncpp json 讀寫操作,感興趣的朋友跟隨小編一起看看吧

JsonCpp的使用

項目需要c++下使用json,我選擇了JsonCpp,官網是:https://github.com/open-source-parsers/jsoncpp。
解壓后使用python編譯出兩個h文件和一個cpp文件:

(電腦需要安裝python自己百度安裝,這里就不說了)

安裝python后,打開windows下cmd窗口,進入到jsoncpp文件夾? 如圖:

執(zhí)行命令:python amalgamate.py 就會生成dist文件夾 里面有?json.h json-forwards.h jsoncpp.cpp三個文件:如下

將三個文件加入到工程即可使用,我是要qt進行測試使用:

main.cpp如下

#include <iostream>
#include <fstream>
#include "dist/json/json.h"
using namespace std;
 
int main(int argc, char *argv[])
{
    // write
    Json::Value people1;
    people1["name"] = "Dione";
    people1["sex"] = "男";
    people1["age"] = 24;
    people1["note"] = "jsoncpp write test!";
 
    Json::Value people2;
    people2["name"] = "Hulis";
    people2["sex"] = "女";
    people2["age"] = 22;
    people2["note"] = "jsoncpp write test!";
 
    Json::Value peoples;
    peoples.append(people1);
    peoples.append(people2);
 
    Json::Value writeValue;
    writeValue["classname"] = "三年一班";
    writeValue["peoples"] = peoples;
 
 
    Json::FastWriter fwriter;
    std::string strf = fwriter.write(writeValue);
    std::ofstream ofsf("example_fast_writer.json");
    ofsf << strf;
    ofsf.close();
 
    Json::StyledWriter swriter;
    std::string strs = swriter.write(writeValue);
    std::ofstream ofss("example_styled_writer.json");
    ofss << strs;
    ofss.close();
 
    // read
    string strValue = "{\"key1\":\"111\",\"array\":[{\"key2\":\"222\"},{\"key2\":\"333\"},{\"key2\":\"444\"}]}";
    Json::Reader reader;
    Json::Value root;
    if (reader.parse(strValue, root))
    {
        std::string out = root["key1"].asString();
        qDebug()<<QString::fromStdString(out);
        Json::Value arrayObj = root["array"];
        for (int i=0; i<arrayObj.size(); i++)
        {
            out = arrayObj[i]["key2"].asString();
            qDebug()<<QString::fromStdString(out);
        }
    }
 
    std::ifstream ifs("example_fast_writer.json");
    if (reader.parse(ifs, root))
    {
        std::string out = root["classname"].asString();
        qDebug()<<QString::fromStdString(out);
        Json::Value peoples = root["peoples"];
        for (int i=0; i<peoples.size(); i++)
        {
            qDebug()<<QString::fromStdString(peoples[i]["name"].asString());
            qDebug()<<QString::fromStdString(peoples[i]["sex"].asString());
            qDebug()<<QString::fromStdString(peoples[i]["age"].asString());
            qDebug()<<QString::fromStdString(peoples[i]["note"].asString());
        }
    }
 
    return 0;
}

會生成兩個json文件,一個是沒有格式寫入一個是有格式寫入,如下:

Demo工程下載地址:點擊此處下載

到此這篇關于C++ qt 使用jsoncpp json 讀寫的文章就介紹到這了,更多相關C++ qt 使用jsoncpp json內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • VC++中的字體設置方法詳解

    VC++中的字體設置方法詳解

    以下是對VC++中的字體設置方法進行了詳細的介紹,需要的朋友可以過來參考下
    2013-09-09
  • C++?命名空間?using聲明使用示例詳解

    C++?命名空間?using聲明使用示例詳解

    這篇文章主要為大家介紹了C++?命名空間?using聲明使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-12-12
  • 用C語言實現(xiàn)單鏈表的各種操作(一)

    用C語言實現(xiàn)單鏈表的各種操作(一)

    本篇文章是對用C語言實現(xiàn)單鏈表的各種操作進行了詳細的分析介紹,需要的朋友參考下
    2013-05-05
  • 用C語言如何打印一個等腰三角形

    用C語言如何打印一個等腰三角形

    這篇文章主要介紹了用C語言如何打印一個等腰三角形,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • C++的get()函數(shù)與getline()函數(shù)使用詳解

    C++的get()函數(shù)與getline()函數(shù)使用詳解

    這篇文章主要介紹了C++的get()函數(shù)與getline()函數(shù)使用詳解,是C++入門學習中的基礎知識,需要的朋友可以參考下
    2015-09-09
  • 深入了解C語言中的動態(tài)內存分配

    深入了解C語言中的動態(tài)內存分配

    這篇文章主要為大家詳細介紹了C語言中的動態(tài)內存分配,文中的示例代碼講解詳細,對我們學習C語言有一定的幫助,需要的可以參考一下
    2022-06-06
  • C指針原理教程之垃圾回收-內存泄露

    C指針原理教程之垃圾回收-內存泄露

    C語言沒有運行時庫,無法自動壓縮使用中的內存,縮小堆棧所需內存空間。若只申請內存,沒有釋放,勢必造成系統(tǒng)內存不斷減少、丟失。長時間的運行,最終導致系統(tǒng)死機。文章闡述了C語言垃圾產生的原因,并從引用計數(shù)、標記一清除算法兩方面提出如何實現(xiàn)C語言的垃圾回收。
    2019-02-02
  • 詳解C語言中的rename()函數(shù)和remove()函數(shù)的使用方法

    詳解C語言中的rename()函數(shù)和remove()函數(shù)的使用方法

    這篇文章主要介紹了詳解C語言中的rename()函數(shù)和remove()函數(shù)的使用方法,是C語言入門學習中的基礎知識,需要的朋友可以參考下
    2015-09-09
  • 使用Qt生成Word和PDF文檔的詳細教程

    使用Qt生成Word和PDF文檔的詳細教程

    Qt 是一個跨平臺的應用程序開發(fā)框架,除了用于創(chuàng)建圖形界面應用程序外,還可以用來生成 Word 和 PDF 文檔,本文將介紹如何使用 Qt 來生成Word和PDF文檔,以及相關的代碼示例,需要的朋友可以參考下
    2023-10-10
  • C/C++中組合詳解及其作用介紹

    C/C++中組合詳解及其作用介紹

    這篇文章主要介紹了C/C++中組合的詳解及其作用介紹,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-09-09

最新評論

东平县| 吐鲁番市| 延吉市| 金平| 滕州市| 通渭县| 灵台县| 宿州市| 两当县| 和静县| 五家渠市| 根河市| 松原市| 陵水| 凤阳县| 鹤壁市| 咸丰县| 巴东县| 元江| 南江县| 赤城县| 通州区| 富川| 商城县| 福建省| 天水市| 溧阳市| 庆安县| 梅河口市| 文登市| 通许县| 宁南县| 临洮县| 衡南县| 西昌市| 西林县| 吉隆县| 屏边| 丰城市| 清徐县| 鄂托克前旗|