zoukankan      html  css  js  c++  java
  • jsoncpp 0.5 ARM移植

    1、下载jsonapp 0.5

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

    2、编译

      platform 没有包含 arm 平台,需要把源码提取出来,独立编译,在/opt目录下新建目录jsoncpp,将源码中的include目录和src/lib_json目录下的所有文件拷贝到jsoncpp目录下,再运行以下命令:

      arm-linux-gnueabihf-g++ -C *.cpp -I./include -fPIC

      ar cr libjson_arm_gnueabihf.a *.o

      这时会在jsoncpp目录下生成libjson_arm_gnueabihf.a库

      注:

      -fPIC:表明使用地址无关代码。PIC:Position Independent Code

      include/json目录下的头文件和libjson_arm_gnueabihf.a文件一起放在Qt工程中。

    3、jsoncpp的使用

    • 从字符串解释json

      void ParseJsonFromString()  

      {  

        const char* str = "{"uploadid": "UP000000","code": 100,"msg": "","files": ""}";  

        Json::Reader reader;  

         Json::Value root;  

        if (reader.parse(str, root))  // reader将Json字符串解析到root,root将包含Json里所有子元素   

        {  

          std::string upload_id = root["uploadid"].asString();  // 访问节点,upload_id = "UP000000"   

          int code = root["code"].asInt();    // 访问节点,code = 100   

        }  

        return 0;  

      } 

    • 生成json字符串

      Json::FastWriter writer;  

      Json::Value root;

      root["uploadid"] = "UP000000";

      root["code"] = 100;

      root["msg"] = "";

      root["files"] = "";

      std::string str = writer.write(root);

      str内容为“{"uploadid": "UP000000","code": 100,"msg": "","files": ""}”;

  • 相关阅读:
    Python实例1-Collatz 序列
    Git 教程
    python 算法基础
    认识 flask框架 及 介绍
    python 虚拟环境
    Numpy基本操作学习
    Jupyter Notebook 快捷键指南
    Gallery——Matplotlib
    list.pop()函数操作头部与尾部的计时试验
    list 与 dict 的in操作比较试验
  • 原文地址:https://www.cnblogs.com/zhangnianyong/p/8410819.html
Copyright © 2011-2022 走看看