基于范围的for循环是一种简化遍历容器元素的方法,可以用于遍历Rapidjson文档本身作为JSON数组的情况。下面是使用基于范围的for循环遍历Rapidjson文档本身的示例代码:
#include <iostream>
#include <rapidjson/document.h>
int main() {
const char* json = "[1, 2, 3, 4, 5]";
rapidjson::Document doc;
doc.Parse(json);
if (doc.IsArray()) {
for (const auto& value : doc.GetArray()) {
if (value.IsInt()) {
std::cout << value.GetInt() << std::endl;
}
}
}
return 0;
}
上述代码首先定义了一个JSON数组的字符串表示,然后使用rapidjson::Document
解析该字符串。接下来,通过判断doc
是否为数组类型,确定文档本身是否为JSON数组。如果是数组类型,就可以使用基于范围的for循环遍历doc.GetArray()
,其中value
表示当前遍历到的元素。在示例中,我们假设数组元素都是整数,因此通过value.IsInt()
判断元素类型,并使用value.GetInt()
获取整数值进行打印。
需要注意的是,上述示例中使用的是Rapidjson库进行JSON解析和操作,Rapidjson是一个快速的C++ JSON解析器和生成器。对于Rapidjson的更多详细信息和使用方法,可以参考腾讯云提供的Rapidjson产品介绍。
总结起来,基于范围的for循环可以简化遍历Rapidjson文档本身作为JSON数组的操作,通过判断类型和获取值,可以对数组元素进行进一步处理。
领取专属 10元无门槛券
手把手带您无忧上云