阅读量:0
要在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: 1 Element: 2 Element: 3 JSON: [1, 2, 3]