一:配置
1,下载类库
Jsoncpp 是比较出名的 C++ JSON 解析库。在 JSON 官网也是首推的。
下载地址为:http://sourceforge.net/projects/jsoncpp(版本为jsoncpp-src-0.5.0)。
scons
下载地址为:http://sourceforge.net/projects/scons/files/scons/2.1.0/scons-2.1.0.tar.gz
说明:scons需要python,在linux中自己携带了python,放心使用。
2,编译scons
tar -zvxf scons-2.3.2.tar.gz
设置环境变量
export MYSCONS=解压的路径
export SCONS_LIB_DIR=$MYSCONS/engine
3. 解压jsoncpp
tar -zvxf jsoncpp-src-0.5.0.tar.gz
4. 切换到jsoncpp的解压目录,执行命令:切记一定要解压切换的目录
python $MYSCONS/script/scons platform=linux-gcc
5,生成静态和动态库文件
在jsoncpp-src-0.5.0/libs/linux-gcc-4.1.2目录下
libjson_linux-gcc-4.1.2_libmt.a
libjson_linux-gcc-4.1.2_libmt.so
6,可以将libjson_linux-gcc-4.4.4_libmt.a和libjson_linux-gcc-4.4.1.libmt.so拷贝到自己的lib下,将解压后的文件夹下的include下的json头文件文件夹拷贝到自己的include下。也可以不COPY。引用对路径就可以了。
7,配置环境变量。
export LD_LIBRARY_PATH=/自己目录/jsoncpp/libs/linux-gcc-4.1.2
Linux环境变量设置文件
vi $HOME/.profile export LD_LIBRARY_PATH=/自己目录/jsoncpp/libs/linux-gcc-4.1.2
二:使用
#include "json/json.h" using namespace :: std; using namespace :: Json; using std::string; int main() { string test ="{\"id\":1,\"name\":\"kurama\"}"; Reader reader; Value value; if (!reader.parse(test, value)) return 0; string value_data=value["name"].asString(); cout <<value_data<<endl; cout <<value["name"]<<endl; return 0; }
编译
g++ -o jsontest jsontest.cpp -I./jsoncpp-src-0.5.0/include/ -L($LD_LIBRARY_PATH)/libjson_linux-gcc-4.1.2_libmt.a ($LD_LIBRARY_PATH)/libjson_linux-gcc-4.1.2_libmt.so
输出为:kurama