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。

最新文章

  1. winform 自定义控件引用问题
  2. android Activity类中的finish()、onDestory()和System.exit(0) 三者的区别
  3. Asp.net窄屏页面 手机端新闻列表
  4. org.springframework.web.filter.CharacterEncodingFilter
  5. WEB前端介绍
  6. UIAlertViewController+TextField 输入框
  7. ul 、ol li 继承原有样式的问题
  8. 独家分享——大牛教你如何学习Web前端开发
  9. floyd详解
  10. tag_on_failure =&gt; [] # prevent default _grokparsefailure tag on real records
  11. ABP分层架构
  12. Win10无法使用小娜搜索本地应用问题的解决方案
  13. mysql截取函数substring_index()和right()用法
  14. [ZZ] [精彩盘点] TesterHome 社区 2018年 度精华帖
  15. centos7下安装samba服务器
  16. Spark中的Join类型
  17. jdk 10.0.2 bug修复
  18. iOS9中http不能使用的解决
  19. MongoDB 2.4企业版分析
  20. iphone传照片还是用QQ比较好

热门文章

  1. [OSG][osgEarth]osgEarth例子程序简介
  2. MVC中view和controller相互传值的方法
  3. 移动端接口:java写get方式访问数据(springmvc+spring。。。)
  4. asp之缓存 cachestate
  5. 阿里云CentOS6.5搭建服务器JDK+tomcat+MySQL
  6. easyui validatebox 验证类型DEMO
  7. 话说C++中的左值、纯右值、将亡值
  8. java中类的初始化和对象的初始化
  9. Toad for Oracle Format Option
  10. 做Adsense的一些经验