rapidjson 修改 json 键值
时间: 2023-08-29 14:10:38 浏览: 215
要修改 JSON 键值,您需要首先解析 JSON,然后修改键值,最后将其转换回 JSON。以下是使用 RapidJSON 库进行此操作的示例代码:
```c++
#include "rapidjson/document.h"
#include "rapidjson/writer.h"
#include "rapidjson/stringbuffer.h"
#include <iostream>
#include <string>
using namespace rapidjson;
int main() {
// 解析 JSON
std::string json_str = "{\"name\":\"John\",\"age\":30}";
Document doc;
doc.Parse(json_str.c_str());
// 修改键值
doc["name"] = "Jane";
// 转换回 JSON
StringBuffer buffer;
Writer<StringBuffer> writer(buffer);
doc.Accept(writer);
std::cout << buffer.GetString() << std::endl; // 输出 {"name":"Jane","age":30}
return 0;
}
```
在这个示例中,我们首先将 JSON 字符串 `{"name":"John","age":30}` 解析到 RapidJSON 的 `Document` 对象中。然后,我们使用 `doc["name"]` 访问 JSON 对象中的 `name` 键,并将其修改为 `"Jane"`。最后,我们使用 RapidJSON 的 `Writer` 将 `Document` 对象转换回 JSON 字符串,并将其打印到控制台上。
阅读全文