nlohmann/json读取json文件
时间: 2025-05-21 14:38:43 浏览: 20
### 如何使用 nlohmann/json 库读取 JSON 文件
要使用 `nlohmann/json` 库来读取 JSON 文件,可以按照以下方法实现。此过程涉及打开文件、读取其内容到字符串中,再利用库中的解析函数将其转换为可操作的对象。
以下是完整的示例代码:
```cpp
#include <iostream>
#include <fstream> // 用于文件流操作
#include "nlohmann/json.hpp"
int main() {
// 定义文件路径
const std::string file_path = "example.json";
// 创建输入文件流
std::ifstream ifs(file_path);
// 检查文件是否成功打开
if (!ifs.is_open()) {
std::cerr << "Failed to open the file: " << file_path << std::endl;
return 1;
}
// 将文件内容读入字符串
std::stringstream buffer;
buffer << ifs.rdbuf();
std::string json_string = buffer.str();
// 关闭文件流
ifs.close();
// 解析 JSON 字符串
try {
nlohmann::json j = nlohmann::json::parse(json_string);
// 输出 JSON 数据的内容作为验证
std::cout << "Parsed JSON:\n" << j.dump(4) << std::endl;
// 访问特定字段(假设存在 name 和 age)
std::cout << "Name: " << j["name"] << "\nAge: " << j["age"] << std::endl;
} catch (const nlohmann::json::exception& e) {
std::cerr << "Error parsing JSON from file: " << e.what() << std::endl;
return 1;
}
return 0;
}
```
#### 示例说明
- **文件读取部分**:通过标准 C++ 的 `<fstream>` 头文件实现了文件的打开与关闭,并将整个文件内容加载到了一个字符串变量中[^1]。
- **JSON 解析部分**:调用了 `nlohmann::json::parse()` 方法完成对 JSON 字符串的解析工作[^2]。
- **异常处理机制**:如果发生错误(如文件无法打开或 JSON 格式不合法),程序会捕获异常并打印相应的提示信息[^3]。
注意,在实际应用前需确认目标环境已安装支持所需版本的 `nlohmann/json` 库[^1]。
阅读全文
相关推荐


















