JSON 官方的解釋爲:JSON 是一種輕量級的數據傳輸格式。
關於 JSON 更具體的信息,可參見 JSON 官網:http://www.json.org。
jsoncpp 是比較出名的 C++ JSON 解析庫。在 JSON 官網也是首推的。
下載地址爲:http://sourceforge.net/projects/jsoncpp。
下面開始說明配置方法:
1、jsoncpp下載後需要編譯成鏈接庫(也可以不編譯,把所有.cpp .h文件加入到自己的工程中。這種方法不易管理,不推薦),
編譯jsoncpp需要使用scons。那麼先下載scons。(http://www.scons.org/)
2、scons部署(版本爲scons-2.1.0.zip)
進入scons解壓目錄(假定爲$MYSCONS),執行python $MYSCONS/setup.py將scons部署完畢。
3、使用scons編譯jsoncpp(版本爲jsoncpp-src-0.5.0.tar.gz)
進入jsoncpp解壓目錄,執行命令:python $MYSCONS/script/scons.py platform=linux-gcc
將jsoncpp編譯,在解壓目錄jsoncpp-src-0.5.0/libs/linux-gcc-3.4.6下可以看到生成了兩個文件:
libjson_linux-gcc-3.4.6_libmt.a
libjson_linux-gcc-3.4.6_libmt.so
修改環境變量LD_LIBRARY_PATH,將該庫所在的目錄加入。
4、將jsoncpp目錄下的頭文件件拷到自己的工程裏就可以使用了。
注意在編譯裏指定動態鏈接庫的地址。-L/jsoncpp-src-0.5.0/libs/linux-gcc-3.4.6/ -ljson_linux-gcc-3.4.6_libmt
例子代碼:
#include <iostream>
#include <string>
#include "json/json.h"
int main(void)
{
Json::Value root;
Json::FastWriter fast_writer;
root["REGION_ID"] = "600901";
root["DATA_TOTAL_NUM"] = "456278";
std::cout << fast_writer.write(root) << std::endl;
return 0;
}
輸出:{"DATA_TOTAL_NUM":"456278","REGION_ID":"600901"}