当前位置: 首页 > news >正文

如何高效的解析Json?

Json介绍

  • Json是一种数据格式,广泛应用在需要数据交互的场景
  • Json由键值对组成
  • 每一个键值对的key是字符串类型
  • 每一个键值对的value是值类型(boo1值数字值字符串值)Array类型object类型
  • Json灵活性他可以不断嵌套,数组的每个元素还可以是数组或者键值对键值对的每个值还可
    以是数组或者键值对
    在这里插入图片描述

Boost.PropertyTree介绍

1 ptree结构体

在这里插入图片描述
在这里插入图片描述

2.读取json数据API

在这里插入图片描述

3.获取子节点API

在这里插入图片描述
在这里插入图片描述

4.数组遍历API

在这里插入图片描述

5.其他API

empty(): 当前节点是否含有子节点。比如当一个节点已经是叶子节点的时候返回false
find(const key_type &key) 返回指向该节点的迭代器 ,或者property_tree::ptree::not_found。
count(const key_type &key): 返回指定名称路径的节点的子节点的数目。

6.注意点

1. 这个库默认不是线程安全的  如果直接在多线程的程序中使用Boost解析JSON,
可能会在奇怪的时候报段错误。
我们如果需要它支持线程安全,
就必须加入一个宏#define BOOST_SPIRIT_THREADSAFE,2. try...catch
if ( root_node.get_child_optional( "name" ) ) {try {root_node.get_child("name")} catch (...) {...}
}
http://www.lryc.cn/news/155915.html

相关文章:

  • MySQL——分组查询
  • thinkphp 使用 easypay 和 easywechat
  • 无涯教程-JavaScript - DVARP函数
  • Databend 开源周报第 108 期
  • Android-Intent实现数据传递
  • 系统学习Linux-zabbix监控平台
  • 基于MediaPipe的人体摔倒检测
  • WebDAV之π-Disk派盘 + 无忧日记
  • Docker 相关操作,及其一键安装Docker脚本
  • 【Microsoft Edge】如何彻底卸载 Edge
  • 2023-09-04力扣每日一题
  • jQuery成功之路——jQuery事件和插件概述
  • Java ArrayList类详解
  • 快速排序学习
  • 【Vue3 知识第二讲】Vue3新特性、vue-devtools 调试工具、脚手架搭建
  • pytorch 基于masking对元素进行替换
  • Cyber RT学习笔记---7、Component组件认知与实践
  • 常见配置文件格式INI/XML/YAML/JSON/Properties/TOML/HCL/YAML Front Matter/.env介绍及实例
  • JS 方法实现复制粘贴
  • 后端面试话术集锦第 十六 篇:java锁面试话术
  • SystemVerilog 第5章 面向对象编程基础
  • 指针进阶(1)
  • 蝶形运算法
  • day 48|● 583. 两个字符串的删除操作 ● 72. 编辑距离
  • 服务器(I/O)之多路转接
  • 后端面试话术集锦第 十三 篇:java集合面试话术
  • 《微服务架构设计模式》第一章
  • 前端是如何打包的
  • Qt 5.15编译(MinGW)及集成Crypto++ 8.7.0笔记
  • Qt 简单闹钟