c++ string 转 json
时间: 2024-08-04 07:01:16 浏览: 77
CPP转Json字符串
在 C++ 中,将 `std::string` 类型的数据转换成 JSON(JavaScript Object Notation)格式通常需要借助第三方库,如 RapidJSON、nlohmann/json 或 JsonCpp。这里以 nlohmann/json 库为例,它是一个轻量级且易于使用的 JSON 库。
首先,你需要包含必要的头文件,并安装 nlohmann/json:
```cpp
#include <nlohmann/json.hpp>
using json = nlohmann::json;
```
然后,假设你有一个 `std::string` 存储了 JSON 字符串,你可以这样做来进行转换:
```cpp
std::string jsonString = "{\"name\":\"John\", \"age\":30, \"city\":\"New York\"}";
// 将字符串转换为json对象
json obj;
try {
obj = json::parse(jsonString);
} catch (const std::exception& e) {
// 处理解析错误
std::cout << "Error parsing JSON: " << e.what() << std::endl;
}
// 现在你可以操作这个json对象了
std::cout << "Parsed JSON:\n" << obj.dump(4) << std::endl; // 打印美化后的 JSON
```
如果你需要将 JSON 对象保存回 `std::string`,可以先将其序列化:
```cpp
std::string result;
result = obj.dump(); // 序列化为 JSON 字符串
// 结果就是原始的 JSON 字符串形式
```
阅读全文