rapidjson::Value输出
时间: 2024-11-03 17:24:22 浏览: 28
RapidJSON是一个快速、轻量级的JSON解析库,它提供了`rapidjson::Value`这个核心数据结构,用于存储和操作JSON内容。`Value`是一个动态的数据容器,可以表示JSON中的各种类型,如对象(` rapidjson::Document`)、数组(` rapidjson::Array`)、字符串、数字、布尔值和null。
如果你想从JSON字符串或文件中读取数据并输出到`Value`,你可以这样做:
```cpp
#include "rapidjson/document.h"
// 从字符串创建Value
std::string json_str = "{\"name\":\"John\", \"age\":30, \"city\":\"New York\"}";
rapidjson::Document d;
d.Parse(json_str.c_str());
// 输出Value的内容
for (auto& member : d.MemberBegin()) {
std::cout << member.name.GetString() << ": " << member.value.GetString() << std::endl;
}
// 对象(键值对)
std::cout << "Name: " << d["name"].GetString() << ", Age: " << d["age"].GetInt() << std::endl;
// 数组
if (d.HasMember("scores")) {
const rapidjson::Value& scores_array = d["scores"];
for (size_t i = 0; i < scores_array.Size(); ++i) {
std::cout << "Score " << i+1 << ": " << scores_array[i].GetInt() << std::endl;
}
}
```
当你需要将`Value`转换回JSON字符串输出,可以使用` Rapidjson::PrettyWriter<>` 或 `Rapidjson::StringBuffer` 来格式化输出。
阅读全文