Rapidjson学习笔记

xiaoxiao2021-02-27  263

前言:

最近项目需要解析json文件,网上看到有这个库,蛮吊的样子,就来撸一发。

开始:

开始部分当然是加载json,(不加载怎么解析?) 个人看法是 Rapidjson貌似只提供了解析方式没有提供具体的加载函数! 在网上找了一下一个比较靠谱的方式。 #include <iostream> //用于把json文件加载进入内存 #include <fstream> //库的头文件 #include "rapidjson/document.h"#include "rapidjson/filereadstream.h"#include "rapidjson/error/en.h"using namespace rapidjson; int loadJSON(std::string filename, rapidjson::Document& json_document) { FILE* f = fopen(filename.c_str(), "rb"); if (!f) { //由于我是在qt上玩所以这里的打印是用的其他的打印函数 qDebug("Couldn't open JSON file.\n"); return 1; } char read_buffer[4096]; rapidjson::FileReadStream reader_stream(f, read_buffer, sizeof(read_buffer)); json_document.ParseStream(reader_stream); fclose(f); if (json_document.HasParseError()) { qDebug("Error parsing JSON(offset %u): %s\n", (unsigned)json_document.GetErrorOffset(), GetParseError_En(json_document.GetParseError())); return 2; } return 0; }
转载请注明原文地址: https://www.6miu.com/read-10498.html

最新回复(0)