c++ RAPIDJSON生成json字符串,对象数组
时间: 2023-08-04 19:15:57 浏览: 256
json字符串转换c++类对象
可以使用 RAPIDJSON 库提供的 `Document` 类来生成 JSON 字符串。以下是一个示例代码,用于生成包含对象数组的 JSON 字符串:
```c++
#include "rapidjson/document.h"
#include "rapidjson/writer.h"
#include "rapidjson/stringbuffer.h"
using namespace rapidjson;
int main() {
// 构造 JSON 文档
Document doc(kObjectType);
doc.SetArray();
// 添加两个对象到数组中
for (int i = 0; i < 2; ++i) {
Value obj(kObjectType);
obj.AddMember("name", "Alice", doc.GetAllocator());
obj.AddMember("age", 20 + i, doc.GetAllocator());
doc.PushBack(obj, doc.GetAllocator());
}
// 将 JSON 文档序列化为字符串
StringBuffer buffer;
Writer<StringBuffer> writer(buffer);
doc.Accept(writer);
// 输出 JSON 字符串
std::cout << buffer.GetString() << std::endl;
return 0;
}
```
输出结果为:
```json
[{"name":"Alice","age":20},{"name":"Alice","age":21}]
```
在上述代码中,我们首先构造了一个空的 JSON 文档,并将其设置为数组类型。然后,我们添加了两个对象到数组中,每个对象包含了两个属性:`name` 和 `age`。最后,我们使用 `Writer` 类将 JSON 文档序列化为字符串,并输出该字符串。
阅读全文