国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

linux下jsoncpp編譯與使用

2019-11-14 13:09:08
字體:
來源:轉載
供稿:網友
       json的使用場合非常多,無論java還是c++,java語言基本首選fastjson庫,使用maven項目管理工具,分分鐘搞定。而c++語言使用json就要麻煩一些,很多json庫都需要自己編譯,并且不同系統、不同平臺還要分別編譯。c++下相關json庫非常多,貌似jsoncpp用的人多一些,jsoncpp是一個c++封裝的json包,跨平臺支持windows、linux、unix等多系統。linux下面編譯需要使用到SCons,SCons是一個開放源代碼、以 Python語言編寫的程序建造工具,功能和GNU make一樣,不過比make簡單一些。本文主要講Ubuntu14環境下使用SCons工具編譯jsoncpp庫及jsoncpp庫調用代碼示例。       1. 安裝SCons,直接在終端敲命令即可完成SCons安裝。
sudo apt-get install scons       2. 下載jsoncpp源碼(https://github.com/open-source-parsers/jsoncpp ),解壓后得到jsoncpp-master文件夾。終端下進入jsoncpp-master目錄,然后運行如下命令即可。
scons platform=linux-gcc                                編譯完成后,會得到libs文件夾,該文件夾下就是編譯好的動態及靜態lib庫。                                                                     下面是相應代碼示例:
#include <json/json.h>using namespace std;int main(){    // 解析json串    string message = "{ /"data/" : { /"username/" : /"test/" }, /"type/" : 6 }";    Json::Reader reader(Json::Features::strictMode());    Json::Value parseData;    if (reader.parse(message.c_str(), parseData))    {        int type = parseData.get("type", 0).asInt();        Json::Value frameData = parseData.get("data", 0);        string username = frameData.get("username", 0).asString();        PRintf("type: %d, username: %s/n", type, username.c_str());    }    // 生成json串    Json::Value data;    Json::Value frame;    Json::FastWriter fastWriter;    frame["type"] = 66;    data["username"] = "test";    frame["data"] = data;    string result = fastWriter.write(frame);    printf("result: %s /n", result.c_str());    return 0;}       參考資料:       http://www.json.org/       https://www.ibm.com/developerworks/cn/linux/l-cn-scons/
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 弥渡县| 名山县| 云龙县| 深圳市| 辽阳市| 乐陵市| 正安县| 茶陵县| 余干县| 邵阳市| 宜兰县| 乐都县| 黄石市| 上蔡县| 桐乡市| 同德县| 汉中市| 东乡族自治县| 石家庄市| 襄汾县| 平顺县| 广元市| 海伦市| 朝阳县| 湖北省| 万年县| 宜宾市| 普兰店市| 新蔡县| 望城县| 安仁县| 平山县| 土默特左旗| 武定县| 永胜县| 阜南县| 林口县| 沙湾县| 乐平市| 荣昌县| 紫云|