安装Json库
1、下载JsonCpp
http://sourceforge.net/projects/jsoncpp/files/ 2、下载sconshttp://sourceforge.net/projects/scons/files/scons/2.1.0/scons-2.1.0.tar.gz/download 3、解压scons-2.1.0.tar.gztar -zvxf scons-2.1.0.tar.gz
我的解压到了/opt/JSON/scons-2.1.0目录下了 4、进入到解压目录scons-2.1.0下面,执行命令:sudo python setup.py install
5、解压jsconcpptar -zvxf jsoncpp-src-0.5.0.tar.gz
我的解压到了/opt/JSON/jsoncpp-src-0.5.0下 6、进入到jsoncpp解压目录下,执行命令:sudo scons platform=linux-gcc
7、将/jsoncpp-src-0.5.0/include/目录下的json文件夹拷贝到/usr/include/ 8、将jsoncpp-src-0.5.0/libs/linux-gcc-4.9.1/目录下的libjson_linux-gcc-4.9.1_libmt.a 拷贝到/usr/local/lib/下,并为了方便使用,将其重命名为libjson.a 9、测试代码//json.cpp
#include<iostream>#include<json/json.h>using namespace std;
int main()
{ string test="{\"id\":1,\"name\":\"kurama\"}";Json::Reader reader;Json::Value value;if(reader.parse(test,value))
{ if(!value["id"].isNull()){ cout<<value["id"].asInt()<<endl;cout<<value["name"].asString()<<endl;}}return 0;} 编译:需指定链接库(刚才重命名后的那个文件):g++ json.cpp -ljson
输出:
“以上是综合网上多篇文章整理的,在此记录,防止遗忘”
基本使用示例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;
//初始化jsonjson["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);