Linux平台下C++使用JsonCPP解析Json字符串
JsonCPP安装
安装 scons
下载地址:
http://sourceforge.net/projects/scons/files/scons/2.1.0/scons-2.1.0.tar.gz/download
百度网盘:
https://pan.baidu.com/s/1tW57c9s3iCeoDi4OIDyEPQ 密码:2wd5
解压:
tar -zvxf scons-2.1.0.tar.gz
进入到解压目录scons-2.1.0,执行命令:
sudo python setup.py install
安装 JsonCPP
下载地址:
http://sourceforge.net/projects/jsoncpp/
解压:
tar -zvxf jsoncpp-src-0.5.0.tar.gz
进入到jsoncpp解压目录下,执行命令:
sudo scons platform=linux-gcc
还要以下两步操作:
- 将
/jsoncpp-src-0.5.0/include/目录下的json文件夹拷贝到/usr/local/include/下 - 将
jsoncpp-src-0.5.0/libs/linux-gcc-4.9.1/目录下的libjson_linux-gcc-4.9.1_libmt.a拷贝到/usr/local/lib/下,并为了方便使用,将其重命名为libjsoncpp.a
到此,配置已经完成,只需要在代码中添加头文件:#include <json/json.h>即可。
程序测试
注意:在编译里指定动态链接库的地址:-ljsoncpp
测试程序:
int main()
{
string jsonStr = "{\"userName\":\"123456\",\"userPassword\":\"111111\"}";
Json::Reader reader;
Json::Value value;
reader.parse(jsonStr,value);
Json::Value::Members member = value.getMemberNames();
for(Json::Value::Members::iterator iter = member.begin();iter != member.end(); ++iter)
{
cout<<(*iter)<<endl; //获得key
cout<<value[*iter].asString()<<endl; //获得value
}
return 0;
}
编译:
注意:链接库-ljsoncpp的名字和你拷贝到 /usr/local/lib/ 下时重命名有关
g++ -o JsonTest JsonTest.cpp -ljsoncpp
问题
如果找不到路径的错误,需要编辑/etc/ld.so.conf文件,此文件记录了编译器编译时使用的动态库路径!那我们把/usr/local/lib路径加入到文件末尾就可以了!
Linux平台下C++使用JsonCPP解析Json字符串的更多相关文章
- Linux平台下Lotus Domino服务器部署案例
Linux平台下Lotus Domino服务器部署案例 几年前我写了篇<RHAS2.1下安装中文LotusDominoR6.5图解>这篇文档被多个大型网站转载,曾帮助过很多公司系统管理员部 ...
- Linux平台下:块设备、裸设备、ASMlib、Udev相关关系
对磁盘设备(裸分区)的访问方式分为两种:1.字符方式访问(裸设备):2.块方式访问 Solaris平台 : 在Solaris平台下,系统同时提供对磁盘设备的字符.块方式访问.每个磁盘有两个设备文件名: ...
- 在linux平台下,设置core dump文件属性(位置,大小,文件名等)
在linux平台下,设置core dump文件生成的方法: 1) 在终端中输入ulimit -c 如果结果为0,说明当程序崩溃时,系统并不能生成core dump. 2) 使用ulimit -c un ...
- Linux平台下Ntop流量监测安装,并实现Netflow全过程
Linux平台下Ntop流量监测安装,并实现Netflow全过程 更多原创教学视频详见: http://you.video.sina.com.cn/m/1443650204 本文出自 "李晨 ...
- 使用 dynamic 标记解析JSON字符串 JDynamic :支持Json反序列化为Dynamic对象
使用 dynamic 标记解析JSON字符串 http://www.cnblogs.com/taotaodetuer/p/4171327.html 1 string jsonStr = " ...
- json解析json字符串时候,数组必须对应jsonObjectArray,不能对应JsonObject。否则会解析错误。
json第三方解析json字符串时候,json数组必须对应jsonObjectArray,不能对应JsonObject.->只要是[]开头的都是json数组字符串,就要用jsonArray解析 ...
- C#解析JSON字符串总结
JSON文件读取到内存中就是字符串,.NET操作JSON就是生成与解析JSON字符串. 操作JSON通常有以下几种方式: 1. 原始方式:按照JSON字符串自己来解析. 2. 通用方式[★★★★★]: ...
- Json转model对象,model转json,解析json字符串
GitHub链接: https://github.com/mozhenhau/D3Json D3Json 通过swift的反射特性,把json数据转换为model对象,本类最主要是解决了其他一般jso ...
- 解析Json字符串的三种方法
在很多时候,我们的需要将类似 json 格式的字符串数据转为json, 下面将介绍日常中使用的三种解析json字符串的方法 1.首先,我们先看一下什么是 json 格式字符串数据,很简单,就是 jso ...
随机推荐
- MySQL系列(一):谈谈MySQL架构
MySQL整体架构 与所有服务端软件一样,MySQL采用的也是C/S架构,即客户端(Client)与服务端(Server)架构,我们在使用MySQL的时候,都是以客户端的身份,发送请求连接到运行服务端 ...
- Pr常用的键盘操作
Pr常用的键盘操作 Shift选中切开的小段 Alt复制效果
- 对象浅拷贝Object.assign
const target = { a: { b: { c: { d: 1 } }, e: 5, f: 6, h: 10 } } const source = { a: { b: { c: { d: 1 ...
- sqlmap注入基本教程
附上一个别人总结的:https://www.cnblogs.com/ichunqiu/p/5805108.html 一套基础的sqlmap语句: python sqlmap.py -u "h ...
- linux vi编辑器光标跳到文件末尾
1.:0,:1,gg都可以到第一行2.shift+g到末行3.或者:$=检查总行数比如24,:24到第24行
- win10专业工作站版密钥|win10专业工作站版key|win10专业工作站版激活码
一.windows10专业工作站零售版密钥 永久激活 Win 10 ProfessionalWorkstation Retail [Key]:DXG7C-N36C4-C4HTG-X4T3X-2YV77 ...
- C 库函数 - fmod()
C 库函数 - fmod() 转自: C 标准库 - <math.h> 描述 C 库函数 double fmod(double x, double y) 返回 x 除以 y 的余数. 声明 ...
- b站德云社相声合集
每天都做德云小可爱呀 郭德纲于谦相声合集搜索: 75314217.75079477 62444678.60874866 60745041.60514509 之前在喜马拉雅上面听过,部分高清的要会员,只 ...
- 在阿里云IIS服务器上安装证书
在IIS服务器上安装证书 您可将下载的阿里云SSL证书安装到IIS服务器上,使您的IIS服务器支持HTTPS安全访问. 一.前提条件 申请证书时需要选择 系统自动创建CSR. 申请证书时如果选择手动创 ...
- 机器学习作业(一)线性回归——Matlab实现
题目太长啦!文档下载[传送门] 第1题 简述:设计一个5*5的单位矩阵. function A = warmUpExercise() A = []; A = eye(5); end 运行结果: 第2题 ...