Linux 下Jsoncpp的配置和使用

一:配置

 

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,放心使用。


Linux 下Jsoncpp的配置和使用
 

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

你可能感兴趣的:(jsoncpp)