要在C++中操作BSON数组,您需要使用一个支持BSON的库
首先,确保已安装mongo-cxx-driver。如果尚未安装,请按照官方文档进行安装。
包含必要的头文件:
#include<iostream>#include <bsoncxx/json.hpp>#include <bsoncxx/builder/basic/document.hpp>#include <bsoncxx/builder/basic/array.hpp>创建一个BSON数组并添加元素:using namespace bsoncxx;int main() { // 创建一个BSON数组构建器 builder::basic::array array_builder; // 向数组中添加元素 array_builder.append(types::b_int32{1}); array_builder.append(types::b_int32{2}); array_builder.append(types::b_int32{3}); // 获取BSON数组 auto bson_array = array_builder.extract();}访问和操作BSON数组中的元素:// 遍历BSON数组for (auto it = bson_array.begin(); it != bson_array.end(); ++it) { // 获取当前元素 auto element = *it; // 打印元素值 std::cout << "Element: "<< element.get_int32().value<< std::endl;}将BSON数组转换为JSON字符串:std::string json_string = to_json(bson_array);std::cout << "JSON: "<< json_string<< std::endl;这是一个完整的示例,展示了如何在C++中创建、操作和输出BSON数组:
#include<iostream>#include <bsoncxx/json.hpp>#include <bsoncxx/builder/basic/document.hpp>#include <bsoncxx/builder/basic/array.hpp>using namespace bsoncxx;int main() { // 创建一个BSON数组构建器 builder::basic::array array_builder; // 向数组中添加元素 array_builder.append(types::b_int32{1}); array_builder.append(types::b_int32{2}); array_builder.append(types::b_int32{3}); // 获取BSON数组 auto bson_array = array_builder.extract(); // 遍历BSON数组 for (auto it = bson_array.begin(); it != bson_array.end(); ++it) { // 获取当前元素 auto element = *it; // 打印元素值 std::cout << "Element: "<< element.get_int32().value<< std::endl; } // 将BSON数组转换为JSON字符串 std::string json_string = to_json(bson_array); std::cout << "JSON: "<< json_string<< std::endl; return 0;}编译并运行此代码,您将看到以下输出:
Element: 1Element: 2Element: 3JSON: [1, 2, 3]