C++ JSON 利器:nlohmann::json 简介
在 C++ 项目中处理 JSON 数据曾经是一项繁琐的任务,直到 nlohmann::json 的出现。这是一个仅需头文件的现代 C++ 库,以其直观、易用的 API 而闻名,让 JSON 操作变得前所未有的简单。
为何选择 nlohmann::json?
它的核心优势在于“直观”。你可以像使用 std::map 或 Python 字典一样操作 JSON 对象,无需学习复杂的 API。因为它是一个仅需头文件的库,所以集成到你的项目中非常方便,只需包含 json.hpp 即可,没有复杂的构建或链接步骤。
快速上手
下面的代码展示了如何创建、填充和序列化一个 JSON 对象:
#include <iostream>
#include "json.hpp" // 引入头文件
// 设置别名,方便使用
using json = nlohmann::json;
int main() {
// 1. 创建一个 JSON 对象
json j;
// 2. 像 std::map 一样填充数据
j["name"] = "Copilot";
j["version"] = 2.0;
j["features"] = {"code completion", "chat", "debugging"};
j["is_active"] = true;
// 3. 访问数据
std::string name = j.value("name", "Unknown");
std::cout << "Name: " << name << std::endl;
// 4. 将 JSON 对象序列化为字符串(带格式化)
std::string s = j.dump(4);
std::cout << s << std::endl;
return 0;
}