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

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

linux下jsoncpp編譯與使用

2019-11-14 12:38:25
字體:
來源:轉載
供稿:網友
       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/
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 台南县| 三门县| 陈巴尔虎旗| 漾濞| 曲靖市| 新津县| 三原县| 遵义县| 威海市| 梁山县| 迭部县| 嘉兴市| 革吉县| 安远县| 施甸县| 堆龙德庆县| 凉城县| 湘潭县| 邓州市| 沾化县| 即墨市| 新巴尔虎左旗| 抚远县| 镇沅| 临湘市| 高邮市| 乌鲁木齐市| 武安市| 兴业县| 治多县| 苍山县| 大连市| 宣恩县| 平远县| 桃源县| 五河县| 巴林右旗| 都安| 墨竹工卡县| 福鼎市| 肃北|