C++怎么解析json串
时间: 2024-11-01 22:07:49 浏览: 18
在C++中解析JSON串通常需要用到第三方库,因为C++标准库本身并不直接支持这个功能。一些常用的库有 RapidJSON、nlohmann/json、jsoncpp 等。这里简单举例说明如何使用nlohmann/json库:
首先,你需要从其GitHub页面(https://github.com/nlohmann/json)下载并包含相应的头文件。例如,安装了vcpkg的话,可以使用`#include <nlohmann/json.hpp>`。
```cpp
#include <nlohmann/json.hpp>
// JSON字符串
std::string jsonString = "{\"name\":\"John\", \"age\":30, \"city\":\"New York\"}";
// 解析JSON
nlohmann::json j;
try {
j = nlohmann::json::parse(jsonString);
} catch (const nlohmann::json::parse_error& e) {
// 处理解析错误
std::cerr << "Failed to parse JSON: " << e.what() << '\n';
}
// 访问解析后的数据
std::string name = j["name"].get<std::string>();
int age = j["age"].get<int>();
std::string city = j["city"].get<std::string>();
// 输出结果
std::cout << "Name: " << name << ", Age: " << age << ", City: " << city << '\n';
```
在这个例子中,我们尝试将JSON字符串解析成一个json对象j,然后通过`.get()`函数获取指定键对应的值。
阅读全文