linux下使用C++ Json库
来源:互联网 发布:淘宝直通车地域投放 编辑:程序博客网 时间:2024/05/22 16:55
安装Json库
1、下载JsonCpp
http://sourceforge.net/projects/jsoncpp/files/
2、下载scons
http://sourceforge.net/projects/scons/files/scons/2.1.0/scons-2.1.0.tar.gz/download
3、解压scons-2.1.0.tar.gz
tar -zvxf scons-2.1.0.tar.gz
我的解压到了/opt/JSON/scons-2.1.0目录下了
4、进入到解压目录scons-2.1.0下面,执行命令:
sudo python setup.py install
5、解压jsconcpp
tar -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/
cp -rf /home/wyg/Downloads/udpchat/jsoncpp-src-0.5.0 /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
cp jsoncpp-src-0.5.0/libs/linux-gcc-4.4.7/libjson_linux-gcc-4.4.7_libmt.a /usr/local/lib/
mv libjson_linux-gcc-4.4.7_libmt.a 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;
//初始化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);
- 【Linux】Linux下c++使用Json库
- Windows,LINUX下QT使用json-c-0.9
- linux下使用C++ Json库
- linux下使用C++ Json库
- linux下使用C++ Json库
- Linux下Json的使用
- linux下C++/ json库的编译及例程
- linux下c/c++实例 cJSON库解析json字符串
- c使用json-c库
- c使用json-c库
- Json介绍及Linux下的使用
- JSON C库的使用
- json-c库使用总结
- json-c库使用总结
- linux下使用C源代码
- arm-linux下交叉编译json-c-0.9库遇到的编译问题
- linux下c/c++实例之十二cJSON库解析json字符串
- linux下c/c++实例之十二cJSON库解析json字符串
- e卷通产品问题
- HDU 1874 畅通工程续 四种最短路算法
- BSON与JSON的区别
- log4net 写操作日志到oracle数据库debug
- Class.forName()的作用与使用总结
- linux下使用C++ Json库
- CSU 1256 天朝的单行道 最短路问题
- ORACLE DATABASE LICENSES 计算方法和收费
- android 4中启动模式
- 小括号'()'运算符重载、逻辑与'&&'、逻辑或'||'运算符重载说明(需要了解)
- Maven搜索依赖库的顺序
- python unicode字节串转成中文问题
- Android动画总结系列(4)——属性动画集成
- UVA 11090 Going in Cycle!! SPFA判断负圈