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

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

linux下jsoncpp編譯與使用

2019-11-14 12:40:05
字體:
來源:轉載
供稿:網友
       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/
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 淮滨县| 巴楚县| 滦南县| 民权县| 阿瓦提县| 荆门市| 米脂县| 宁都县| 林西县| 山西省| 岗巴县| 靖江市| 清远市| 宜兰市| 元朗区| 汤原县| 桓台县| 田林县| 黄平县| 车险| 宁晋县| 通许县| 长垣县| 乌兰察布市| 新民市| 炉霍县| 玉溪市| 明水县| 麻阳| 通城县| 天祝| 濮阳县| 岗巴县| 互助| 鄂托克前旗| 威海市| 文昌市| 黄石市| 绥宁县| 仪征市| 祁门县|