nlohmann/json 用于 C++:完整指南及示例

面向初学者的在线Python训练器

轻松学习Python,无需理论负担。在浏览器中直接解决带自动检查的实践任务,无需安装任何东西。

开始课程

nlohmann/json 简介:它是什么以及为什么需要它



nlohmann/json 库(也称为 JSON for Modern C++)是 C++ 语言中最流行、最方便的 JSON 处理库之一。它由 Niels Lohmann 开发,并在 MIT 许可下发布。该库的主要目标是提供一个直观、现代且安全的接口,用于解析、创建、修改和序列化 JSON 数据。



为什么需要它?在现代开发中,JSON(JavaScript 对象表示法)是服务间数据交换、配置存储、API 和 Web 应用程序交互的事实标准。C++ 标准库没有内置的 JSON 支持,因此开发人员要么编写自己的解析器,要么使用第三方解决方案。nlohmann/json 解决了这个问题,它提供了:



  • 简单的语法 — 使用 JSON 类似于使用 STL 内置容器(std::map、std::vector)。
  • 类型安全 — 在 C++ 类型和 JSON 之间自动转换。
  • 高性能 — 该库针对速度和内存进行了优化。
  • 跨平台 — 可在 Windows、Linux、macOS 以及嵌入式系统上运行。
  • 完全支持 JSON 标准 — 包括嵌套对象、数组、null、布尔值、数字和字符串。


该库被广泛应用于工业项目,例如游戏引擎、Web 服务器、数据分析工具和物联网设备。



安装 nlohmann/json



与 Python(使用 pip)不同,在 C++ 中,库的安装可以通过多种方式完成。让我们来看看最流行的几种。



方法 1:仅头文件(推荐给初学者)

nlohmann/json 库是 仅头文件 的——这意味着要使用它,只需下载一个头文件 json.hpp 并将其包含到项目中即可。无需编译、链接或安装依赖项。

  1. 从 官方仓库 下载文件 json.hpp(最新版本为 v3.11.3)。
  2. 将其放入您的项目文件夹中,例如 include/json.hpp。
  3. 在源代码中包含:#include "json.hpp"。


方法 2:通过包管理器安装

如果您使用现代构建系统,可以通过包管理器安装该库:

  • vcpkg(Windows、Linux、macOS):vcpkg install nlohmann-json
  • Conan:conan install nlohmann_json/3.11.3@
  • Homebrew(macOS):brew install nlohmann-json
  • APT(Ubuntu/Debian):sudo apt install nlohmann-json3-dev


方法 3:CMake FetchContent

对于使用 CMake 的项目,可以在构建过程中自动下载该库:

include(FetchContent)FetchContent_Declare(  json  GIT_REPOSITORY https://github.com/nlohmann/json.git  GIT_TAG v3.11.3)FetchContent_MakeAvailable(json)target_link_libraries(your_target PRIVATE nlohmann_json::nlohmann_json)


快速入门:第一个示例



让我们编写一个简单的程序,创建一个 JSON 对象,将其输出到屏幕,然后将 JSON 字符串解析回来。



#include <iostream>#include "json.hpp"

using json = nlohmann::json;

int main() { // 1. 创建 JSON 对象 json person = { {"name", "Alice"}, {"age", 30}, {"is_student", false}, {"skills", {"C++", "Python", "JSON"}},

推荐