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
  • 相关阅读:
    Spring-security+Oauth2.0 零散知识汇总(备忘)
    Java Mail 发送邮件 JMail 多人 解决乱码 带附件
    AngularJs 性能优化英文原版(个人备份使用)
    Java基础练习- Java-Swing 拼图游戏 第一部分:创建java窗口添加窗口元素
    Json格式页面解析不出来
    spring-security 异常处理求助
    MySQL-存储过程
    吸血鬼数字
    浏览器的兼容性
    es6-----promise
  • 原文地址:https://www.cnblogs.com/judes/p/15193945.html
Copyright © 2011-2022 走看看