千家信息网

C++ qt如何使用jsoncpp json进行读写操作

发表于:2024-10-31 作者:千家信息网编辑
千家信息网最后更新 2024年10月31日,这篇文章将为大家详细讲解有关C++ qt如何使用jsoncpp json进行读写操作,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。JsonCpp的使用
千家信息网最后更新 2024年10月31日C++ qt如何使用jsoncpp json进行读写操作

这篇文章将为大家详细讲解有关C++ qt如何使用jsoncpp json进行读写操作,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

JsonCpp的使用

项目需要c++下使用json,我选择了JsonCpp,官网是:https://github.com/open-source-parsers/jsoncpp
解压后使用python编译出两个h文件和一个cpp文件:

(电脑需要安装python自己百度安装,这里就不说了)

安装python后,打开windows下cmd窗口,进入到jsoncpp文件夹 如图:

执行命令:python amalgamate.py 就会生成dist文件夹 里面有 json.h json-forwards.h jsoncpp.cpp三个文件:如下

将三个文件加入到工程即可使用,我是要qt进行测试使用:

main.cpp如下

#include #include #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()<

会生成两个json文件,一个是没有格式写入一个是有格式写入,如下:

关于C++ qt如何使用jsoncpp json进行读写操作就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

0