Ubuntu14.04 jsoncpp搭建



install scons:
apt-get install scons
download jsoncpp zip:
https://github.com/open-source-parsers/jsoncpp/tree/master/test/data
unzip jsoncpp-master.zip
cd jsoncpp-master
scons platform=linux-gcc

将jsoncpp编译,在解压目录jsoncpp-src-0.5.0/libs/linux-gcc-3.4.6下可以看到生成了两个文件:
    libjson_linux-gcc-4.6.1_libmt.a
    libjson_linux-gcc-4.6.1_libmt.so
    把.a文件拷贝到/usr/local/lib 目录下,为了方便编译给它改个名字libjsonlib.a
:
cp ../jsoncpp-master/libs/linux-gcc-4.8/libjson_linux-gcc-4.8_libmt.a /usr/local/lib/libjsonlib.a

将jsoncpp目录下的头文件件拷到自己的工程里就可以使用了:
cp -r ../jsoncpp-master/include/json/ ./

注意在编译里指定动态链接库的地址。 -ljsonlib :
g++ test.cpp -o test -ljsonlib

./test




基本使用示例

int   mark = 1;
stringpwd("123456");

//json的字符串格式
string test="{\"id\":1,\"name\":\"kurama\"}";

//reader用于将字符串格式转化为json
Json::Reader  reader;
//定义json变量
Json::Value   value;

if(reader.parse(test,value))//字符串转json
{
if(!value["id"].isNull())
{
cout<<value["id"].asInt()<<endl;
//asString()用于转化为string,直接输出是带双引号的
cout<<value["name"].asString()<<endl;
}
}

Json::Value  json;
//初始化json
json["mark"] = Json::Value(mark);
json["pass"] = Json::Value(pwd);

cout<<json["mark"].asInt()<<json["pass"].asString()<<endl;

string   s;
//json转字符串
s = json.toStyledString();

cout<<s<<endl;
Json::Value  js;
reader.parse(s,js);
cout<<js["pass"].asString()<<endl;

//转化为不带格式的字符串
Json::FastWriter writer; 
std::string out = writer.write(js);




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值