C++ json文件解析
时间: 2023-08-13 22:11:43 浏览: 99
你可以使用第三方库来解析 JSON 文件。下面是使用 RapidJSON 库进行 C++ JSON 文件解析的示例代码:
```cpp
#include <iostream>
#include <fstream>
#include <string>
#include <rapidjson/document.h>
#include <rapidjson/istreamwrapper.h>
int main() {
// 从文件中读取 JSON 数据
std::ifstream file("data.json");
rapidjson::IStreamWrapper isw(file);
rapidjson::Document document;
document.ParseStream(isw);
// 检查解析是否成功
if(document.HasParseError()) {
std::cout << "解析 JSON 失败!" << std::endl;
return 1;
}
// 获取 JSON 数据中的字段值
std::string name = document["name"].GetString();
int age = document["age"].GetInt();
// 打印解析结果
std::cout << "姓名: " << name << std::endl;
std::cout << "年龄: " << age << std::endl;
return 0;
}
```
在上述代码中,我们使用 RapidJSON 库来解析 JSON 文件。首先,我们打开文件并将其包装为 `IStreamWrapper` 类型,然后使用 `ParseStream` 函数将其解析为 `Document` 对象。
接下来,我们可以通过 `Document` 对象访问 JSON 数据中的字段值。在这个例子中,假设 JSON 文件中有一个名为 "name" 的字符串字段和一个名为 "age" 的整数字段。我们使用 `GetString` 和 `GetInt` 函数来获取相应的字段值。
最后,我们打印解析结果并关闭文件。
请确保在运行代码之前已经安装了 RapidJSON 库,并将 JSON 数据保存在名为 "data.json" 的文件中。