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

  • 相关阅读:
    【noi2018】归程
    【USACO06JAN】牛的舞会The Cow Prom
    City Horizon (线段树)
    USACO 2019 January Gold Cow Poetry (结论+dp)
    POJ 2528 Mayor's posters (线段树)
    线段覆盖 (线段树)
    POJ 2892 Tunnel Warfare (线段树)
    NOIP 2017 逛公园 (最短路+dp)
    USACO 2019 February Gold Cow Land (树链剖分)
    CSU 2151 集训难度(线段树)
  • 原文地址:https://www.cnblogs.com/zhangnianyong/p/8410819.html
Copyright © 2011-2022 走看看