NexusForce 1.0.0
A Modern C++ Library with extended functionality, web components, and utility libraries
载入中...
搜索中...
未找到
json_builder类 参考

json配置构建器 更多...

#include <json_builder.hpp>

Public 成员函数

 json_builder ()=default
 默认构造函数
 json_builder (json_builder &&other)=default
 移动构造函数
json_builderoperator= (json_builder &&other)=default
 移动赋值运算符
json_builderbegin_object ()
 开始一个json对象
json_builderbegin_array ()
 开始一个json数组
json_builderend_object ()
 结束当前json对象
json_builderend_array ()
 结束当前json数组
json_builderkey (const string &key)
 设置当前对象的键名
json_buildervalue (nullptr_t np)
 设置null值
json_buildervalue (const string &value)
 设置字符串值
json_buildervalue (const char *value)
 设置C字符串值
json_buildervalue (const string_view value)
 设置字符串视图值
json_buildervalue (const double value)
 设置双精度浮点数值
json_buildervalue (const int value)
 设置整数值
json_buildervalue (const bool value)
 设置布尔值
json_buildervalue (unique_ptr< json_value > &&value)
 设置已构建的json值
template<typename Iterable>
json_buildervalue (const Iterable &iterable)
 设置可迭代对象的值
json_buildervalue_object (const function< void(json_builder &)> &build_func)
 使用函数式方式构建对象值
json_buildervalue_array (const function< void(json_builder &)> &build_func)
 使用函数式方式构建数组值
unique_ptr< json_valuebuild ()
 构建json文档

详细描述

json配置构建器

提供流式接口构建json配置格式,支持以下特性:

  • 链式调用构建对象和数组
  • 自动类型转换(整数、浮点数、布尔值、字符串)
  • 函数式构建嵌套结构
  • 集合类型自动转换(可迭代对象、映射表)
  • 上下文管理(自动维护当前对象/数组状态)

在文件 json_builder.hpp38 行定义.

构造及析构函数说明

◆ json_builder()

json_builder::json_builder ( json_builder && other)
default

移动构造函数

参数
other源构建器

引用了 json_builder().

成员函数说明

◆ begin_array()

json_builder & json_builder::begin_array ( )

开始一个json数组

返回
自身引用,支持链式调用
异常
json_exception当根节点已存在或键名缺失时抛出

创建一个新的json数组,并压入上下文栈。 如果当前在顶层,该数组将成为根节点; 否则作为当前上下文的值添加。

引用了 json_builder().

◆ begin_object()

json_builder & json_builder::begin_object ( )

开始一个json对象

返回
自身引用,支持链式调用
异常
json_exception当根节点已存在或键名缺失时抛出

创建一个新的json对象,并压入上下文栈。 如果当前在顶层,该对象将成为根节点; 否则作为当前上下文的值添加。

引用了 json_builder().

◆ build()

unique_ptr< json_value > json_builder::build ( )

构建json文档

返回
构建完成的json值根节点
异常
json_exception当存在未闭合的结构或未完成的键值对时抛出

完成构建过程,返回构建好的json值。 调用前必须确保所有对象/数组都已闭合,且没有未完成的键值对。

◆ end_array()

json_builder & json_builder::end_array ( )

结束当前json数组

返回
自身引用,支持链式调用
异常
json_exception当没有数组可关闭时抛出

弹出上下文栈顶的数组,返回上一层。 必须与 begin_array 配对使用。

引用了 json_builder().

◆ end_object()

json_builder & json_builder::end_object ( )

结束当前json对象

返回
自身引用,支持链式调用
异常
json_exception当没有对象可关闭或存在未完成的键值对时抛出

弹出上下文栈顶的对象,返回上一层。 必须与 begin_object 配对使用。

引用了 json_builder().

◆ key()

json_builder & json_builder::key ( const string & key)

设置当前对象的键名

参数
key键名
返回
自身引用,支持链式调用
异常
json_exception当不在对象上下文中或键名已设置时抛出

为后续的值设置键名,仅在对象上下文中有效。

引用了 json_builder() , 以及 key().

被这些函数引用 key().

◆ operator=()

json_builder & json_builder::operator= ( json_builder && other)
default

移动赋值运算符

参数
other源构建器
返回
自身引用

引用了 json_builder().

◆ value() [1/9]

json_builder & json_builder::value ( const bool value)
inline

设置布尔值

参数
value布尔值
返回
自身引用,支持链式调用
异常
json_exception当上下文无效或键名缺失时抛出

在文件 json_builder.hpp287 行定义.

引用了 json_builder(), make_unique() , 以及 value().

◆ value() [2/9]

json_builder & json_builder::value ( const char * value)
inline

设置C字符串值

参数
valueC字符串
返回
自身引用,支持链式调用
异常
json_exception当上下文无效或键名缺失时抛出

在文件 json_builder.hpp255 行定义.

引用了 json_builder(), value() , 以及 value().

被这些函数引用 value().

◆ value() [3/9]

json_builder & json_builder::value ( const double value)
inline

设置双精度浮点数值

参数
value双精度浮点数
返回
自身引用,支持链式调用
异常
json_exception当上下文无效或键名缺失时抛出

在文件 json_builder.hpp271 行定义.

引用了 json_builder(), make_unique() , 以及 value().

◆ value() [4/9]

json_builder & json_builder::value ( const int value)
inline

设置整数值

参数
value整数
返回
自身引用,支持链式调用
异常
json_exception当上下文无效或键名缺失时抛出

在文件 json_builder.hpp279 行定义.

引用了 json_builder(), make_unique() , 以及 value().

◆ value() [5/9]

template<typename Iterable>
json_builder & json_builder::value ( const Iterable & iterable)
inline

设置可迭代对象的值

模板参数
Iterable可迭代类型
参数
iterable可迭代对象
返回
自身引用,支持链式调用

根据类型自动转换为json对象或数组:

  • 映射表类型转换为对象
  • 其他可迭代类型转换为数组

在文件 json_builder.hpp308 行定义.

引用了 json_builder().

◆ value() [6/9]

json_builder & json_builder::value ( const string & value)
inline

设置字符串值

参数
value字符串值
返回
自身引用,支持链式调用
异常
json_exception当上下文无效或键名缺失时抛出

在文件 json_builder.hpp247 行定义.

引用了 json_builder(), make_unique() , 以及 value().

◆ value() [7/9]

json_builder & json_builder::value ( const string_view value)
inline

设置字符串视图值

参数
value字符串视图
返回
自身引用,支持链式调用
异常
json_exception当上下文无效或键名缺失时抛出

在文件 json_builder.hpp263 行定义.

引用了 json_builder(), value() , 以及 value().

被这些函数引用 value().

◆ value() [8/9]

json_builder & json_builder::value ( nullptr_t np)
inline

设置null值

参数
np空指针标记
返回
自身引用,支持链式调用
异常
json_exception当上下文无效或键名缺失时抛出

在文件 json_builder.hpp239 行定义.

引用了 json_builder() , 以及 make_unique().

被这些函数引用 value(), value(), value(), value(), value(), value() , 以及 value().

◆ value() [9/9]

json_builder & json_builder::value ( unique_ptr< json_value > && value)
inline

设置已构建的json值

参数
valuejson值指针
返回
自身引用,支持链式调用
异常
json_exception当上下文无效或键名缺失时抛出

在文件 json_builder.hpp295 行定义.

引用了 json_builder(), move() , 以及 value().

◆ value_array()

json_builder & json_builder::value_array ( const function< void(json_builder &)> & build_func)

使用函数式方式构建数组值

参数
build_func构建函数,接收json_builder引用
返回
自身引用,支持链式调用

在独立的作用域内构建一个数组,构建完成后自动闭合。

引用了 json_builder().

◆ value_object()

json_builder & json_builder::value_object ( const function< void(json_builder &)> & build_func)

使用函数式方式构建对象值

参数
build_func构建函数,接收json_builder引用
返回
自身引用,支持链式调用

在独立的作用域内构建一个对象,构建完成后自动闭合。

引用了 json_builder().


该类的文档由以下文件生成: