C++ 遍历json文件

  • 欢迎使用Markdown编辑器

欢迎使用Markdown编辑器

#include <iostream>
#include <string>
#include <jsoncpp/json/json.h>
#include <fstream>using namespace std;void print_json(Json::Value data)
{  Json::Value::Members mem = data.getMemberNames();  for (auto iter = mem.begin(); iter != mem.end(); iter++)  {  cout << *iter << "\t: "; getchar();if (data[*iter].type() == Json::objectValue)  {  print_json(data[*iter]);  }  else if (data[*iter].type() == Json::arrayValue)  {  cout << endl;  auto cnt = data[*iter].size();  for (auto i = 0; i < cnt; i++)  {  cout << data[*iter][i];  }  cout << endl;}  else if (data[*iter].type() == Json::stringValue)  {  cout << data[*iter].asString() << endl;  }  else if (data[*iter].type() == Json::realValue)  {  cout << data[*iter].asDouble() << endl;  }  else if (data[*iter].type() == Json::uintValue)  {  cout << data[*iter].asUInt() << endl;  }  else  {  cout << data[*iter].asInt() << endl;  }  }  return;
}  // int get_ctree(string json_str){//     Json::Reader reader;
//     Json::Value root;
//     if (reader.parse(json_str, root)){//         print_json(root);
//     }//     return 0;
// }int get_ctree(string json_file){Json::Reader reader;Json::Value root;ifstream in(json_file);if (reader.parse(in, root)){print_json(root);}return 0;
}// string read_json(string jsonFile){//     ifstream in(jsonFile);
//     if(! in.is_open()){//         cout << "Error opening file" << endl;
//         exit(1);
//     }
//     int dsize = 2000;
//     char data[dsize];
//     in.getline(data, dsize);//     return string(data);
// }int main(int argc, char const *argv[])
{get_ctree("pAtbTree.json");return 0;
}

参考文章

C++ 遍历json文件相关推荐

  1. 手写小程序摇树优化工具(三)——遍历json文件

    见素包朴,少私寡欲,绝学无忧 github: miniapp-shaking 上一章我们介绍了遍历js文件的方法,接下来我们介绍其他文件的遍历. 1. 遍历JSON文件 对于json文件,我们直接读取 ...

  2. python遍历JSON文件

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式. 易于人阅读和编写.同时也易于机器解析和生成. 这里我写了一段python代码,设计一个递归函数可以遍历j ...

  3. 遍历JSON文件提取想要的内容

    "可以使用递归函数来遍历多层级json文件内容,提取需要的内容.下面是一个示例代码:" import jsondef extract_json(data, key):if isin ...

  4. Python遍历json文件,并更换变量

    def update_reuqest_body_file(self,request_body_filepath):read_json = ReadJson()content = read_json.r ...

  5. python json文件遍历所有key、value 及替换key对于的value

    对于接口自动化测试,一般接口以json形式发送返回,往往我们就需要遍历json文件中所有key,value以及修改替换key对于的value. 例如json发送/接收的文件: SendRegister ...

  6. Newtonsoft解析Json文件

    添加引用 using Newtonsoft.Json; Exam类 public class Exam{//考生学号public string Number { get; set; }//考试名称pu ...

  7. Python修改图片格式以及相对应labelme标注的Json文件

    Python修改图片格式以及相对应labelme标注的Json文件 前言 前提条件 相关介绍 实验环境 Python修改图片格式以及相对应labelme标注的Json文件 代码实现 输出结果 前言 本 ...

  8. jq 请求本地的json_jQuery使用ajax读取本地json文件的案例

    { "first":[ {"name":"张三","sex":"男"}, {"name&q ...

  9. 使用Physics_Body_Editor获得json文件的类

    [转自]:http://www.cocoachina.com/bbs/read.php?tid=209290 工具介绍,json文件获得方法,请参考原帖 MyBodyParser.h 1 // 2 / ...

  10. 用 Python 对比两个目录下的内容,并生成 Json 文件

    一.背景 两个文件夹下,可能有相同名字的文件,也可能有不同名字的文件,相同名字的文件也有可能内容不同,因此需要对比,将结果输出到 Json 文件. 二.思路 先获取两个目录,然后分别遍历目录下的所有文 ...

最新文章

  1. LeetCode 771. Jewels and Stones--Java和Python解法--简单
  2. 【100题】第五十九题 用C++编写不能被继承的类
  3. php访问nfs目录,PHP NFS的实现代码
  4. DevOps笔记-04:DevOps工具和文化缺一不可
  5. Node.js:Web模块、文件系统
  6. [Linux] 命令行工具
  7. pythonwx功能_python中wx模块的具体使用方法
  8. 项目配置不当引发了数据泄露,人已裂开!!
  9. 【Tensorflow】深度学习实战05——Tensorflow实现Inception V3
  10. 基于隐马尔可夫模型的有监督词性标注
  11. Xcode 6 免证书真机调试
  12. 黑客帝国canvas黑客帝国代码雨特效-A5源码
  13. Paxos算法和Raft算法
  14. 定投复利公式 php,基金定投收益计算公式和复利计算公式
  15. java集合优秀率怎么算,优秀率怎么算(及格率和优秀率公式)
  16. Android平台的音乐资源管理与播放
  17. Java 判断是否为大写字母
  18. P02014026黄一洋————信息论问题回答
  19. fprintf函数的的用法
  20. HTML小技巧的一些小技巧

热门文章

  1. nanomsg实验——pubsub
  2. EndNote X9破解之后遇到的问题
  3. 北航计算机学院考研英语一还是二,2018北京航空航天大学计算机考研经验分享...
  4. 智能计算/计算智能、仿生算法、启发式算法的区别与关系?
  5. 关于select和option下拉框样式问题
  6. Spring5,最全教程,带你认识IOC容器和AOP切面
  7. 获取火山无水印视频方法
  8. QPainter基本绘图【1】
  9. ac ap方案 华为_华为AC AP无线配置方法
  10. 中国大学MOOC 程序设计入门——C语言 翁凯 编程测试题汇总