rapidjson解析
Dom解析示例
下面是我写的一个小例子,从test.json文件中读取内容并解析。其他代码示例也可以查看我的github仓库中关于rapidjson的测试代码:rapid_json_test.cpp.
test.json
- {
- "dictVersion": 1,
- "content":
- [
- {"key": "word1", "value": "单词1"} ,
- {"key": "word2", "value": "单词2"} ,
- {"key": "word3", "value": "单词3"} ,
- {"key": "word4", "value": "单词4"} ,
- {"key": "word5", "value": "单词5"}
- ]
- }
test.cpp
- #include "../external/json/rapidjson.h"
- #include <fstream>
- #include <string>
- #include <cassert>
- #include <iostream>
- #define psln(x) std::cout << #x " = " << (x) << std::endl
- void testSimpleDoc() {
- using std::string;
- using std::ifstream;
- // read json content into string.
- string stringFromStream;
- ifstream in;
- in.open("test.json", ifstream::in);
- if (!in.is_open())
- return;
- string line;
- while (getline(in, line)) {
- stringFromStream.append(line + "\n");
- }
- in.close();
- // parse json from string.
- using rapidjson::Document;
- Document doc;
- doc.Parse<0>(stringFromStream.c_str());
- if (doc.HasParseError()) {
- rapidjson::ParseErrorCode code = doc.GetParseError();
- psln(code);
- return;
- }
- // use values in parse result.
- using rapidjson::Value;
- Value & v = doc["dictVersion"];
- if (v.IsInt()) {
- psln(v.GetInt());
- }
- Value & contents = doc["content"];
- if (contents.IsArray()) {
- for (size_t i = 0; i < contents.Size(); ++i) {
- Value & v = contents[i];
- assert(v.IsObject());
- if (v.HasMember("key") && v["key"].IsString()) {
- psln(v["key"].GetString());
- }
- if (v.HasMember("value") && v["value"].IsString()) {
- psln(v["value"].GetString());
- }
- }
- }
- }
rapidjson解析相关推荐
- rapidjson 嵌套json_[整理][RapidJson用法1]C++之RapidJson解析嵌套数组json | 勤奋的小青蛙...
因为工作需要,需要对一段嵌套的json进行解析.其中我使用的开发语言是C++. 由于rapidjson的解析效率高效,所以今天研究了下RapidJson,下面是一段我用RapidJson解析的一段具有 ...
- C++之RapidJSON解析json数据
RapidJSON 是一个 C++ 的 JSON 解析器及生成器. JSON文本: //document.json {"name":"xiaoming",&qu ...
- Rapidjson的简单使用(拼接json串,存取文件中的json,解析json串)
Rapidjson的简单使用示例 很早就想用用Markdown了,一直没机会.今天就来试一下 先放个目录: Rapidjson的简单使用示例 rapidjson官方教程 本示例所用环境 示例代码与注释 ...
- 开源 C++ JSON 库 sonic-cpp解析性能为 rapidjson 的 2.5 倍
sonic-cpp 是由字节跳动 STE 团队和服务框架团队共同研发的一款面向 C++ 语言的高效 JSON 库,极致地利用当前 CPU 硬件特性与向量化编程,大幅提高了序列化反序列化性能,解析性能为 ...
- rapidjson官方教程
原文地址:http://rapidjson.org/zh-cn/md_doc_tutorial_8zh-cn.html 教程 目录 Value 及 Document 查询Value 查询Array 查 ...
- rapidjson 嵌套json_[整理][RapidJson用法2]C++之RapidJson创建嵌套数组json | 勤奋的小青蛙...
上篇博文里我通过RapidJson解析了嵌套的json文本,那么本文章是RapidJson创建嵌套数组Json文本. 代码: #include "rapidjson/document.h&q ...
- cocos2dx中的Rapidjson
1 Json基础 JSON 概念和特点: JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation) JSON 是轻量级的文本数据交换格式,类似 XML ...
- rapidjson使用事项
深度复制值 Document d; v2.CopyFrom(d, a); // 把整个document复制至v2,d不变 rapidjson为了最大化性能,大量使用了浅拷贝,使用之前一定要了解清楚. ...
- UE4从零开始制作数字孪生道路监测平台
UE4从零开始制作数字孪生道路监测平台 UE4集成Cesium for Unreal和WebSocket,后端使用NodeJs搭建服务器进行数据模拟和真实数据实时转发. 1:新建UE4项目并集成Ces ...
最新文章
- linux传输文件到linux速度慢,linux中往nand(jffs2)中拷贝文件时速度慢的问题
- 将图片以流的形式保存到数据库(Image)以及从数据库中取出显示
- cocos2d-x 实现跨平台的目录遍历
- Android MediaPlayer使用方法简单介绍
- UCSB微软提出VIOLET,用Masked Visual-token Modeling进行端到端的视频语言学习!性能SOTA...
- Python+pandas处理Excel文件案例一则
- win7小工具打不开_Win7系统电脑桌面双击快捷键方式图标没反应的解决办法
- 创建目录 java_java创建文件和目录
- Linux下互斥量加锁与解锁操作的C代码实现
- matlab方差 anov,方差分析
- 流畅的python是python3吗_流畅的 Python - 3. 文本与
- Unity | 实现粘贴、复制功能
- 几款项目管理工具对比
- 轻松记录南极最美丽风景 有TA就已经足够
- 关于计算机英语手抄报全国一等奖,获奖手抄报图片
- cmd无法进入其他盘符问题解决方案
- 10【Mybatis延迟加载】
- CVPR2020论文分方向整理之检测篇(代码/论文解读/136篇打包下载)
- 【微信小程序】车位在线销售平台(三)
- Idea 精准到类的打包方式:Artifacts 打包