|
NexusForce 1.0.0
A Modern C++ Library with extended functionality, web components, and utility libraries
|
json配置构建器 更多...
#include <json_builder.hpp>
Public 成员函数 | |
| json_builder ()=default | |
| 默认构造函数 | |
| json_builder (json_builder &&other)=default | |
| 移动构造函数 | |
| json_builder & | operator= (json_builder &&other)=default |
| 移动赋值运算符 | |
| json_builder & | begin_object () |
| 开始一个json对象 | |
| json_builder & | begin_array () |
| 开始一个json数组 | |
| json_builder & | end_object () |
| 结束当前json对象 | |
| json_builder & | end_array () |
| 结束当前json数组 | |
| json_builder & | key (const string &key) |
| 设置当前对象的键名 | |
| json_builder & | value (nullptr_t np) |
| 设置null值 | |
| json_builder & | value (const string &value) |
| 设置字符串值 | |
| json_builder & | value (const char *value) |
| 设置C字符串值 | |
| json_builder & | value (const string_view value) |
| 设置字符串视图值 | |
| json_builder & | value (const double value) |
| 设置双精度浮点数值 | |
| json_builder & | value (const int value) |
| 设置整数值 | |
| json_builder & | value (const bool value) |
| 设置布尔值 | |
| json_builder & | value (unique_ptr< json_value > &&value) |
| 设置已构建的json值 | |
| template<typename Iterable> | |
| json_builder & | value (const Iterable &iterable) |
| 设置可迭代对象的值 | |
| json_builder & | value_object (const function< void(json_builder &)> &build_func) |
| 使用函数式方式构建对象值 | |
| json_builder & | value_array (const function< void(json_builder &)> &build_func) |
| 使用函数式方式构建数组值 | |
| unique_ptr< json_value > | build () |
| 构建json文档 | |
json配置构建器
提供流式接口构建json配置格式,支持以下特性:
在文件 json_builder.hpp 第 38 行定义.
|
default |
| json_builder & json_builder::begin_array | ( | ) |
开始一个json数组
| json_exception | 当根节点已存在或键名缺失时抛出 |
创建一个新的json数组,并压入上下文栈。 如果当前在顶层,该数组将成为根节点; 否则作为当前上下文的值添加。
引用了 json_builder().
| json_builder & json_builder::begin_object | ( | ) |
开始一个json对象
| json_exception | 当根节点已存在或键名缺失时抛出 |
创建一个新的json对象,并压入上下文栈。 如果当前在顶层,该对象将成为根节点; 否则作为当前上下文的值添加。
引用了 json_builder().
| unique_ptr< json_value > json_builder::build | ( | ) |
构建json文档
| json_exception | 当存在未闭合的结构或未完成的键值对时抛出 |
完成构建过程,返回构建好的json值。 调用前必须确保所有对象/数组都已闭合,且没有未完成的键值对。
| json_builder & json_builder::end_array | ( | ) |
结束当前json数组
| json_exception | 当没有数组可关闭时抛出 |
弹出上下文栈顶的数组,返回上一层。 必须与 begin_array 配对使用。
引用了 json_builder().
| json_builder & json_builder::end_object | ( | ) |
结束当前json对象
| json_exception | 当没有对象可关闭或存在未完成的键值对时抛出 |
弹出上下文栈顶的对象,返回上一层。 必须与 begin_object 配对使用。
引用了 json_builder().
| json_builder & json_builder::key | ( | const string & | key | ) |
设置当前对象的键名
| key | 键名 |
| json_exception | 当不在对象上下文中或键名已设置时抛出 |
为后续的值设置键名,仅在对象上下文中有效。
引用了 json_builder() , 以及 key().
被这些函数引用 key().
|
default |
|
inline |
设置布尔值
| value | 布尔值 |
| json_exception | 当上下文无效或键名缺失时抛出 |
在文件 json_builder.hpp 第 287 行定义.
引用了 json_builder(), make_unique() , 以及 value().
|
inline |
设置C字符串值
| value | C字符串 |
| json_exception | 当上下文无效或键名缺失时抛出 |
在文件 json_builder.hpp 第 255 行定义.
引用了 json_builder(), value() , 以及 value().
被这些函数引用 value().
|
inline |
设置双精度浮点数值
| value | 双精度浮点数 |
| json_exception | 当上下文无效或键名缺失时抛出 |
在文件 json_builder.hpp 第 271 行定义.
引用了 json_builder(), make_unique() , 以及 value().
|
inline |
设置整数值
| value | 整数 |
| json_exception | 当上下文无效或键名缺失时抛出 |
在文件 json_builder.hpp 第 279 行定义.
引用了 json_builder(), make_unique() , 以及 value().
|
inline |
设置可迭代对象的值
| Iterable | 可迭代类型 |
| iterable | 可迭代对象 |
根据类型自动转换为json对象或数组:
在文件 json_builder.hpp 第 308 行定义.
引用了 json_builder().
|
inline |
设置字符串值
| value | 字符串值 |
| json_exception | 当上下文无效或键名缺失时抛出 |
在文件 json_builder.hpp 第 247 行定义.
引用了 json_builder(), make_unique() , 以及 value().
|
inline |
设置字符串视图值
| value | 字符串视图 |
| json_exception | 当上下文无效或键名缺失时抛出 |
在文件 json_builder.hpp 第 263 行定义.
引用了 json_builder(), value() , 以及 value().
被这些函数引用 value().
|
inline |
设置null值
| np | 空指针标记 |
| json_exception | 当上下文无效或键名缺失时抛出 |
在文件 json_builder.hpp 第 239 行定义.
引用了 json_builder() , 以及 make_unique().
被这些函数引用 value(), value(), value(), value(), value(), value() , 以及 value().
|
inline |
设置已构建的json值
| value | json值指针 |
| json_exception | 当上下文无效或键名缺失时抛出 |
在文件 json_builder.hpp 第 295 行定义.
引用了 json_builder(), move() , 以及 value().
| json_builder & json_builder::value_array | ( | const function< void(json_builder &)> & | build_func | ) |
使用函数式方式构建数组值
| build_func | 构建函数,接收json_builder引用 |
在独立的作用域内构建一个数组,构建完成后自动闭合。
引用了 json_builder().
| json_builder & json_builder::value_object | ( | const function< void(json_builder &)> & | build_func | ) |
使用函数式方式构建对象值
| build_func | 构建函数,接收json_builder引用 |
在独立的作用域内构建一个对象,构建完成后自动闭合。
引用了 json_builder().