RapidJson读取json文档
2024-10-14 21:56:25
RapidJson基本操作
1、读取
使用 rapidjson::Document::Parse处理原始文本。
使用 rapidjson::Document::ValueType处理数据项(rapidjson::Document本身也是ValueType)。
例:
json文件内容如:
{ "N1": "D1", "N2": { "bejing", "shanghai", "guangzhou" } }
代码:
rapidjson::Document doc; doc.Parse<rapidjson::kParseDefaultFlags>((const char*)<#原文本#>); auto & n1 = doc["N1"]; if(n1.IsString())
{
printf("n1 is:%s\n", n1.GetString()); // 输出 D1
}
读取数组:
auto & a = doc["N2"];
if(a.IsArray())
{
for (size_t i = 0; i < a.Size(); ++i)
{
auto & node = a[i];
printf("%s\n", node.GetString());
}
}
附:
使用编译语法定义json内容
概念:
String: 字符串, Number: 数字, Object:对象, Array:数组, null:空值, false:布尔假, true:布尔真
R1: _Name: String
R2: _Data: String,Number,Object,Array,null,false,true
R3: Object: { _Name:_Data, ... } (最后一项后面没有逗号)
R4: Array: [_Data, _Data, ...] (最后一项后面没有逗号)
R5: 一个合法的json为一个单独的顶级Object。
最新文章
- winform 自定义控件引用问题
- android Activity类中的finish()、onDestory()和System.exit(0) 三者的区别
- Asp.net窄屏页面 手机端新闻列表
- org.springframework.web.filter.CharacterEncodingFilter
- WEB前端介绍
- UIAlertViewController+TextField 输入框
- ul 、ol li 继承原有样式的问题
- 独家分享——大牛教你如何学习Web前端开发
- floyd详解
- tag_on_failure =>; [] # prevent default _grokparsefailure tag on real records
- ABP分层架构
- Win10无法使用小娜搜索本地应用问题的解决方案
- mysql截取函数substring_index()和right()用法
- [ZZ] [精彩盘点] TesterHome 社区 2018年 度精华帖
- centos7下安装samba服务器
- Spark中的Join类型
- jdk 10.0.2 bug修复
- iOS9中http不能使用的解决
- MongoDB 2.4企业版分析
- iphone传照片还是用QQ比较好
热门文章
- [OSG][osgEarth]osgEarth例子程序简介
- MVC中view和controller相互传值的方法
- 移动端接口:java写get方式访问数据(springmvc+spring。。。)
- asp之缓存 cachestate
- 阿里云CentOS6.5搭建服务器JDK+tomcat+MySQL
- easyui validatebox 验证类型DEMO
- 话说C++中的左值、纯右值、将亡值
- java中类的初始化和对象的初始化
- Toad for Oracle Format Option
- 做Adsense的一些经验