简述
nlohmann::basic_json::begin()
是一个成员函数,用于返回一个指向JSON对象开始的迭代器。该方法在C++中常用于迭代处理JSON对象。它的语法基本如下:
iterator begin() noexcept; const_iterator begin() const noexcept; const_iterator cbegin() const noexcept;
begin()
和cbegin()
返回的迭代器都指向序列的第一个元素。区别在于,begin()
返回的迭代器允许修改遍历的元素,而cbegin()
返回的迭代器不允许修改遍历的元素(即“常量迭代器”)。- 这三个方法都是不抛出异常的,即使用了
noexcept
关键字。 - 如果JSON对象是一个对象或数组,迭代器可以用于遍历其元素。如果JSON对象是一个标量(如一个整数或字符串),那么
begin()
会返回一个指向自身的迭代器。
这个库遵循STL的模式,所以你可以使用C++的范围基础for循环(range-based for loop)来遍历JSON对象:
nlohmann::json j = ...; // Assume j is a JSON array or object. for (auto& element : j) { // Process element... }
在这个例子中,begin()
和end()
在幕后被调用,以获取JSON对象的开始和结束迭代器,并遍历这个范围的所有元素。
nlohmann::basic_json::begin 官网介绍
iterator begin() noexcept; const_iterator begin() const noexcept;
返回指向第一个元素的迭代器。
返回值
指向第一个元素的迭代器。
异常安全性
无异常抛出保证:此成员函数永远不会抛出异常。
复杂度
常数。
示例
以下代码展示了 begin()
的示例。
#include <iostream> #include <nlohmann/json.hpp> using json = nlohmann::json; int main() { // 创建一个数组值 json array = {1, 2, 3, 4, 5}; // 获取指向第一个元素的迭代器 json::iterator it = array.begin(); // 序列化迭代器指向的元素 std::cout << *it << '\n'; }
输出:
1
版本历史
- 在版本1.0.0中添加。