#include <iostream>
#include <fstream>
#include <json/json.h>
int main() {
// 创建输出文件流
std::ofstream jsonFile("data.json");
if (!jsonFile.is_open()) {
std::cerr << "无法打开文件" << std::endl;
return 1;
}
// 使用 JsonCpp 的 StreamWriterBuilder 将 JSON 数据写入文件
Json::StreamWriterBuilder writer;
Json::StreamWriter *jsonWriter = writer.newStreamWriter();
// 开始 JSON 文档
jsonFile << "{";
// 写入固定头部
Json::Value header;
header["header1"] = "fixed_value_1";
header["header2"] = "fixed_value_2";
jsonWriter->write(header, &jsonFile);
// 写入 "features" 属性
jsonFile << ",\"features\":[";
// 逐步生成和写入 JSON 数组 (in this case, it's a 2D array)
for (int i = 0; i < 1000; i++) {
Json::Value feature;
feature["key1"] = i;
feature["key2"] = "value_" + std::to_string(i);
jsonWriter->write(feature, &jsonFile);
if (i < 999) {
jsonFile << ",";
}
}
// 结束 JSON 数组
jsonFile << "]";
// 结束 JSON 文档
jsonFile << "}";
// 关闭文件和 JSON Writer
jsonFile.close();
delete jsonWriter;
std::cout << "JSON 文件已创建" << std::endl;
return 0;
}