C++使用 jsoncpp 解析json数据
整合自网路
一、安装的方法
1、安装 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
2、安装 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/ 下,并为了方便使用,将其重命名为libjson.a
二、使用方法
1、使用 parse 接口进行转化
Json::Reader *pJsonParser = new Json::Reader();
string strJson = "1111 {}"; //不合法json Json::Value tempVal; if(!pJsonParser->parse(strJson, tempVal)){
cout << "parse error" << endl;
return -;
}
string name = tempVal["name"].asString();
2、数组解析
Json::Reader *pJsonParser = new Json::Reader();
string strJson = "{\"name\":\"tom\",\"sex\":\"男\",\"age\":\"24\",\"friends\":[{\"name\":\"chen\',\'sex\':\'男\"},{\"name\":\"li\",\"sex\":\"女\"}]}"; Json::Value tempVal; if(!pJsonParser->parse(strJson, tempVal)){
return -;
}
Json::Value friends = tempVal["friends"];
for(int i = 0;i < friends.size();i++){
cout << friends[i]["name"].asString() << endl;
}
3、先进行类型判断
if(tempVal["name"].isInt()){
int name = tempVal["name"].asInt();
}
C++使用 jsoncpp 解析json数据的更多相关文章
- 使用Python解析JSON数据的基本方法
这篇文章主要介绍了使用Python解析JSON数据的基本方法,是Python入门学习中的基础知识,需要的朋友可以参考下: ----------------------------------- ...
- 使用jQuery解析JSON数据
我们先以解析上例中的comments对象的JSON数据为例,然后再小结jQuery中解析JSON数据的方法. 上例中得到的JSON数据如下,是一个嵌套JSON: {"comments&quo ...
- [转]javascript eval函数解析json数据时为什加上圆括号eval("("+data+")")
javascript eval函数解析json数据时为什么 加上圆括号?为什么要 eval这里要添加 “("("+data+")");//”呢? 原因在于: ...
- 用jquery解析JSON数据的方法以及字符串转换成json的3种方法
用jquery解析JSON数据的方法,作为jquery异步请求的传输对象,jquery请求后返回的结果是 json对象,这里考虑的都是服务器返回JSON形式的字符串的形式,对于利用JSONObject ...
- Android中使用Gson解析JSON数据的两种方法
Json是一种类似于XML的通用数据交换格式,具有比XML更高的传输效率;本文将介绍两种方法解析JSON数据,需要的朋友可以参考下 Json是一种类似于XML的通用数据交换格式,具有比XML更高的 ...
- fastjson生成和解析json数据,序列化和反序列化数据
本文讲解2点: 1. fastjson生成和解析json数据 (举例:4种常用类型:JavaBean,List<JavaBean>,List<String>,List<M ...
- 通过js获取前台数据向一般处理程序传递Json数据,并解析Json数据,将前台传来的Json数据写入数据库表中
摘自:http://blog.csdn.net/mazhaojuan/article/details/8592015 通过js获取前台数据向一般处理程序传递Json数据,并解析Json数据,将前台传来 ...
- JSONKit解析json数据
先将第三方文件拖进工程 JSONKit.h和JSONKit.m 然后设置在ARC工程中添加MRC文件,如下图所示 #import "ViewController.h" #impor ...
- Android网络之数据解析----使用Google Gson解析Json数据
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
随机推荐
- shell 生成任意大小文件
$ dd if=/dev/zero of=junk.data bs=1M count=1 参数: if (input file) of (output file) bs(block size) co ...
- iTOP-iMX6UL开发板【全能版】-动态调频技术简介
本文档以 iMX6UL 为例,简单介绍 cpufreq 的 5 种模式. 在 imx6ul 的 menuconfig 中,进入 CPU Power Management ---> CPU Fre ...
- mysql5.x安装脚本
直接贴出来: #!/bin/bash #linux安装mysql服务分两种安装方法: #①源码安装,优点是安装包比较小,只有十多M,缺点是安装依赖的库多,安装编译时间长,安装步骤复杂容易出错: #②使 ...
- Flask-Web开发(第一部分)
1.Jinja2变量过滤器: safe 渲染值时不转义capitalize 把值的首字母转换成大写,其他字母转换成小写lower 把值转换成小写形式upper 把值转换成大写形式title 把值中每个 ...
- MFC常用宏
MFC调试宏 TRACE() 其形式与函数printf()的参数一样,功能是在调试运行时把表达式的值输出到Output调试窗口. Debug版有效 ASSERT()——断言宏, 表达式为真,则程 ...
- 2018-2019-20175315 实验一 《Java开发环境的熟悉》实验报告
2018-2019-20175315实验一 <Java开发环境的熟悉>实验报告 一.实验内容及步骤 实验1 1.用mkdir建立“20175303exp1”的目录 2.在“20175303 ...
- 3D Slicer中文教程(七)—图像中值滤波
1.中值滤波概念 中值滤波是对一个滑动窗口内的诸像素灰度值排序,用其中值代替窗口中心象素的原来灰度值,它是一种非线性的图像平滑法,它对脉冲干扰级椒盐噪声的抑制效果好,在抑制随机噪声的同时能有效保护边缘 ...
- Java编程思想(前十章)
Java编程思想 有C++编程基础的条件下, 前10章可以快速过一下,都是基本语法,不需要花太多时间. 着重中后段的一些章节,类型信息.泛型.容器.IO.并发等. 中文翻译版 阅读地址 对于一个架构师 ...
- MAC本apache+php配置虚拟域名时踩的坑
昨天在调试Mac自带的Apache+PHP配置域名时,调试的让我怀疑人生.顿时心里一万个草泥马,我就是配置个虚拟域名啊,这么让我受伤 . 1 首先检查一下Apache是否开启, qutao@bogon ...
- js数据结构与算法——字典与散列表
<script> //创建字典 function Dictionary(){ var items = {}; this.set = function(key,value){ //向字典添加 ...