国产探花免费观看_亚洲丰满少妇自慰呻吟_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/
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 芒康县| 泸水县| 石狮市| 贵州省| 芜湖市| 蒙阴县| 霍林郭勒市| 睢宁县| 霍林郭勒市| 昌宁县| 鹤山市| 略阳县| 高尔夫| 天峻县| 安多县| 项城市| 太康县| 诏安县| 凤城市| 外汇| 太湖县| 山阳县| 抚宁县| 来凤县| 志丹县| 且末县| 海安县| 和龙市| 宜良县| 望都县| 满城县| 宜兰县| 神池县| 扎囊县| 巴林左旗| 海门市| 巩义市| 汶川县| 天气| 汉阴县| 阿克陶县|