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": ""}”;

  • 相关阅读:
    前端知识体系
    DOMContentLoaded与load的区别
    最佳网页宽度及其实现
    一些颜色工具网站
    Firebug入门指南
    CSS中背景图片定位方法
    字符编码笔记:ASCII,Unicode 和 UTF-8
    学JS的书籍
    深入理解定位父级offsetParent及偏移大小
    event——事件对象详解
  • 原文地址:https://www.cnblogs.com/zhangnianyong/p/8410819.html
Copyright © 2011-2022 走看看