c++ 解析json
时间: 2024-06-23 11:00:22 浏览: 182
在C++中,解析JSON(JavaScript Object Notation)数据通常会用到一些第三方库,因为C++标准库本身并不直接支持。其中最流行的一些库包括 RapidJSON、nlohmann::json、jsoncpp 和 Boost.PropertyTree 等。这里简单介绍两个常用的库:
1. nlohmann::json
- nlohmann::json是一个轻量级且易于使用的JSON库,它的API简洁,适用于快速开发。你可以使用`json::parse`方法将JSON字符串转换为`json::value`对象,然后像操作C++容器一样访问和操作数据。
```cpp
#include <nlohmann/json.hpp>
std::string json_string = R"({"name": "John", "age": 30})";
json::json j = json::parse(json_string);
std::string name = j["name"].get<std::string>();
```
2. RapidJSON
- RapidJSON提供了一个高效的JSON解析器和生成器,它强调性能和内存效率。解析JSON的示例代码如下:
```cpp
#include "rapidjson/document.h"
using namespace rapidjson;
std::string json_string = R"({"name": "John", "age": 30})";
Document d;
d.Parse(json_string.c_str());
std::string name = d["name"].GetString();
```
阅读全文