JsonCpp库遍历
1、初始化
使用一个字符串初始化一个Json::Value代码实例:
int P2PChannelParamDecode(char *inJson)
{
int ret = -1;
Json::Value root;
Json::Features features = Json::Features::strictMode();
Json::Reader reader(features);
bool parsingSuccessful = reader.parse(inJson, root);
if (parsingSuccessful) {
}
return ret;
}
2、循环遍历一个子数组
{
"stream": [
{
"resolution": [
"1920x1080",
"1280x720"
],
"now_resolution": 0,
"frame_rate": {
"totle_rate": 20,
"now_rate": 15
}
},
{
"resolution": [
"720x480"
],
"now_resolution": 0,
"frame_rate": {
"totle_rate": 20,
"now_rate": 15
}
}
]
}
如图上实例,需要将resolution中的值保存到结构体中,而resolution的元素并不固定,需要循环遍历,以下是解决方法。
const Json::Value streamInfo = value["stream"];
if (!streamInfo.isNull()) {
for (unsigned int i = 0; i < streamInfo.size(); i++) {
if (!streamInfo[i]["now_resolution"].isNull()) {
param->streamInfo[i].resolution = streamInfo[i]["now_resolution"].asInt();
}
if (!streamInfo[i]["frame_rate"]["totle_rate"].isNull()) {
param->streamInfo[i].maxFrameRate = streamInfo[i]["frame_rate"]["totle_rate"].asInt();
}
if (!streamInfo[i]["frame_rate"]["now_rate"].isNull()) {
param->streamInfo[i].frameRate = streamInfo[i]["frame_rate"]["now_rate"].asInt();
}
const Json::Value resolutions = streamInfo[i]["resolution"];
if (!resolutions.isNull()) {
for (unsigned int t = 0; t < resolutions.size(); t++) {
strcpy(param->streamInfo[i].resolutions[t], resolutions[t].asCString());
}
}
}
}
JsonCpp库遍历相关推荐
- jsoncpp库常用源码解析及使用介绍(二)
上一节介绍了jsoncpp库的下载及编译方式,中Value类中最基础的一部分功能的源码,包括Value的构造形式.重载"=".">"."< ...
- jsoncpp 库的使用方法
1. 下载jsoncpp, 地址: http://sourceforge.net/projects/jsoncpp/ 2. 编译jsoncpp: jsoncpp文件中提供了vs71的工程文件以及mak ...
- 5007.jsoncpp库编程
jsoncpp 库的使用. //2.测试一下jsoncpp库是否好使.Json::Value root;Json::Value data;root["action"] = &quo ...
- C++调用JSON-CPP库实现JSON字符串解析
1.下载JSON-CPP库https://sourceforge.net/projects/jsoncpp/ 2.解压jsoncpp-src-0.5.0.tar 3.打开VS2010新建一个名为tes ...
- C++ JsonCpp库 源码编译及使用(VS2019)
下载JsonCpp库源码: git clone git@github.com:open-source-parsers/jsoncpp.git 如果打不开可以试试: git clone git@gite ...
- 【超详细】C++Json:VS2015的jsoncpp库配置及简单使用
Json Json是一种数据格式,本来是用于JavaScript的,但是因为他易读,格式明朗等原因,也被用于其他语言中. JsonCpp是一个C++的Json库,利用他我们可以进行数据传输,状态同步. ...
- C++ JSON解析之jsoncpp库的使用
C++ JSON解析之jsoncpp库的使用 1.介绍 轻量级的数据交换格式,采用完全独立于编程语言的文本格式来存储和表示数据,层次结构简洁清晰,易于人阅读和编写,易于机器解析和生成. 2.语法规则 ...
- C++处理Json串——jsoncpp库
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,和xml类似,本文主要对VS2008中使用Jsoncpp解析json的方法做一下记录. Jsoncpp是个 ...
- python 文件路径_「按需学Python」 1. Glob库遍历路径/文件
小前言: 本人Python小白,因为最近想整理下近10几年的老照片,然后就有了写脚本批处理的想法.初始需求其实很简单,就是筛选自己想要的照片到指定文件夹,然后按照exif信息重命名照片为拍摄时间_拍摄 ...
最新文章
- springMvc的执行流程(源码分析)
- unity实用技术:色盲玩家也能享受好的游戏体验
- Mybatis源码阅读(三):结果集映射3.2 —— 嵌套映射
- jquery radio取值,checkbox取值,select取值,radio选中,
- 百度之星大赛启动,聚焦目标检测,总奖池11.2万!
- 算法提高 身份证号码升级
- mongodb查询的语法(大于,小于,大于或等于,小于或等于等等)
- 数据库一键自动生成 Java 实体类和数据库文档
- Acrobat XI 安*装#教程*和安装%包分*享
- 怎么控制人物行走动画与移动
- C语言新手入门贪吃蛇的链表实现-控制光标位置,流畅不闪屏
- 5G向5.5G演进,变化是什么?
- Linux命令大全【实战演练】
- serialize()序列化
- windows7安装打印机提示“本地打印后台处理程序服务没有运行”
- 跨越原理优缺点_jsonp的原理,应用场景,优缺点
- 信息学奥赛一本通OJ勘误
- Setup Factory9设置图标
- JavaScript视频处理库
- 基于JAVA的出租车管理系统
热门文章
- 什么是MOS管驱动电路,如何理解MOS管驱动电路原理?
- 忘了Linux服务器密码怎么办
- 用unity做的简单小游戏------“小球酷跑“
- 绝缘栅型n沟道场管_N沟道增强型绝缘栅场效应管的工作原理
- android apk编译打包过程
- Linux结构体变量报错,C语言中的结构体
- win10键锁定计算机,win10系统创建一键锁定计算机的快捷方式的操作方法
- 余世维成功经理人讲座
- JavaScript增加和删除DOM节点
- 消失的“金九银十” 互联网的下一个五年在哪里?