zoukankan      html  css  js  c++  java
  • C++使用Jsoncpp源码

    1、下载jsoncpp源码

    https://github.com/open-source-parsers/jsoncpp

    要注意版本

    2、解压

    3、使用python生成直接使用的源码

    使用python执行脚本

    4、生成dist文件夹

     

     这就是可直接使用的源码

    5、使用Qt新建工程,加入文件夹路径

    6、添加头文件

    #include "jsoncpp.cpp"

    一定是添加这个,添加其他报错

    7、两个按钮回调函数

    void MainWindow::on_pushButton_clicked()
    {
        std::string jsonStr;
        Json::Value root, lang, mail;
        Json::StreamWriterBuilder writerBuilder;
        std::ostringstream os;
    
        root["Name"] = "Liming";
        root["Age"] = 26;
    
        lang[0] = "C++";
        lang[1] = "Java";
        root["Language"] = lang;
    
        mail["Netease"] = "lmshao@163.com";
        mail["Hotmail"] = "liming.shao@hotmail.com";
        root["E-mail"] = mail;
    
        std::unique_ptr<Json::StreamWriter> jsonWriter(writerBuilder.newStreamWriter());
        jsonWriter->write(root, &os);
        jsonStr = os.str();
    
        std::cout << "Json:
    " << jsonStr << std::endl;
    }
    
    void MainWindow::on_pushButton_2_clicked()
    {
        std::string strValue = "{"key":"value1","array":[{"arraykey":1},{"arraykey":2}]}";
    
        Json::Reader reader;
        Json::Value root;
        // reader将Json字符串解析到root,root将包含Json里所有子元素
        if (reader.parse(strValue, root))
        {
           if (!root["key"].isNull())
           {
            std::string strValue= root["key"].asString();
            std::cout << strValue<< std::endl;
          }
          Json::Value arrayObj = root["array"];
          for (int i=0; i<arrayObj.size(); i++)
          {
            int iarrayValue = arrayObj[i]["arraykey"].asInt();
            std::cout << iarrayValue << std::endl;
          }
        }
    }



    长风破浪会有时,直挂云帆济沧海!
    可通过下方链接找到博主
    https://www.cnblogs.com/judes/p/10875138.html
  • 相关阅读:
    svn服务器
    TCopyDataStruct 各个参数意义
    Com+连不上解决办法
    流的压缩与解压缩
    Config 文件的增删改查
    Assembly 操作
    redhat7 安装oracle11.2.4页面显示不全解决方法
    IEnumerator和IEnumerable详解
    [我的阿里云服务器] —— 安装LAMP
    设计模式之二抽象工厂设计模式
  • 原文地址:https://www.cnblogs.com/judes/p/15193945.html
Copyright © 2011-2022 走看看