在C++中解析大型JSON文件通常需要使用第三方庫來處理JSON數據。以下是一些常用的庫和示例代碼:
#include "rapidjson/document.h"
#include "rapidjson/filereadstream.h"
#include <cstdio>
using namespace rapidjson;
int main() {
FILE* fp = fopen("large.json", "r");
char readBuffer[65536];
FileReadStream is(fp, readBuffer, sizeof(readBuffer));
Document document;
document.ParseStream(is);
fclose(fp);
// 在這里處理解析后的JSON數據
// 例如:document["key"].GetString();
return 0;
}
#include "json.hpp"
#include <fstream>
using json = nlohmann::json;
int main() {
std::ifstream file("large.json");
json j;
file >> j;
// 在這里處理解析后的JSON數據
// 例如:j["key"].get<std::string>();
return 0;
}
這些庫都提供了方便的API來處理JSON數據,可以根據實際需求選擇合適的庫來解析大型JSON文件。