#include <json.hpp>
|
const char * | tag_name (void) const |
|
const char * | get_text (void) const |
|
json_node * | get_obj (void) const |
|
const char * | get_string (void) const |
|
const long long int * | get_int64 (void) const |
|
const double * | get_double (void) const |
|
const bool * | get_bool (void) const |
|
bool | is_string (void) const |
|
bool | is_number (void) const |
|
bool | is_double (void) const |
|
bool | is_bool (void) const |
|
bool | is_null (void) const |
|
bool | is_object (void) const |
|
bool | is_array (void) const |
|
const char * | get_type (void) const |
|
bool | set_tag (const char *name) |
|
bool | set_text (const char *text) |
|
const string & | to_string (string *out=NULL) const |
|
json_node & | add_child (json_node *child, bool return_child=false) |
|
json_node & | add_child (json_node &child, bool return_child=false) |
|
json_node & | add_child (bool as_array=false, bool return_child=false) |
|
json_node & | add_array (bool return_child=false) |
|
json_node & | add_child (const char *tag, bool return_child=false) |
|
json_node & | add_child (const char *tag, json_node *node, bool return_child=false) |
|
json_node & | add_child (const char *tag, json_node &node, bool return_child=false) |
|
json_node & | add_text (const char *tag, const char *value, bool return_child=false) |
|
json_node & | add_number (const char *tag, long long int value, bool return_child=false) |
|
json_node & | add_double (const char *tag, double value, bool return_child=false) |
|
json_node & | add_bool (const char *tag, bool value, bool return_child=false) |
|
json_node & | add_null (const char *tag, bool return_child=false) |
|
json_node & | add_array_text (const char *text, bool return_child=false) |
|
json_node & | add_array_number (long long int value, bool return_child=false) |
|
json_node & | add_array_double (double value, bool return_child=false) |
|
json_node & | add_array_bool (bool value, bool return_child=false) |
|
json_node & | add_array_null (bool return_child=false) |
|
json_node & | get_parent (void) const |
|
json_node * | first_child (void) |
|
json_node * | next_child (void) |
|
json_node * | operator[] (const char *tag) |
|
int | depth (void) const |
|
int | children_count (void) const |
|
int | detach (void) |
|
void | clear (void) |
|
json & | get_json (void) const |
|
ACL_JSON_NODE * | get_json_node (void) const |
|
| dbuf_obj (dbuf_guard *guard=NULL) |
|
virtual | ~dbuf_obj () |
|
int | pos () const |
|
dbuf_guard * | get_guard () const |
|
json 节点,该类对象必须以 json.create_node() 方式创建
在文件 json.hpp 第 27 行定义.
◆ add_array()
json_node& acl::json_node::add_array |
( |
bool |
return_child = false | ) |
|
◆ add_array_bool()
json_node& acl::json_node::add_array_bool |
( |
bool |
value, |
|
|
bool |
return_child = false |
|
) |
| |
创建一个 json 布尔对象,并将之添加为本 json 节点的子节点
- 参数
-
value | {bool} 布尔值 |
return_child | {bool} 是否需要本函数返回新创建的子节点的引用 |
- 返回
- {json_node&} return_child 为 true 时创建的新节点的引用, 否则返回本 json 节点对象的引用
◆ add_array_double()
json_node& acl::json_node::add_array_double |
( |
double |
value, |
|
|
bool |
return_child = false |
|
) |
| |
创建一个 json double 对象,并将之添加为本 json 节点的子节点
- 参数
-
value | {double} 值 |
return_child | {bool} 是否需要本函数返回新创建的子节点的引用 |
- 返回
- {json_node&} return_child 为 true 时创建的新节点的引用, 否则返回本 json 节点对象的引用
◆ add_array_null()
json_node& acl::json_node::add_array_null |
( |
bool |
return_child = false | ) |
|
创建一个 json null 对象,并将之添加为本 json 节点的子节点
- 参数
-
return_child | {bool} 是否需要本函数返回新创建的子节点的引用 |
- 返回
- {json_node&} return_child 为 true 时创建的新节点的引用, 否则返回本 json 节点对象的引用
◆ add_array_number()
json_node& acl::json_node::add_array_number |
( |
long long int |
value, |
|
|
bool |
return_child = false |
|
) |
| |
创建一个 json 数字对象,并将之添加为本 json 节点的子节点
- 参数
-
value | {acl_int64} 数字值 |
return_child | {bool} 是否需要本函数返回新创建的子节点的引用 |
- 返回
- {json_node&} return_child 为 true 时创建的新节点的引用, 否则返回本 json 节点对象的引用
◆ add_array_text()
json_node& acl::json_node::add_array_text |
( |
const char * |
text, |
|
|
bool |
return_child = false |
|
) |
| |
创建一个 json 字符串对象,并将之添加为本 json 节点的子节点
- 参数
-
text | {const char*} 文本字符串 |
return_child | {bool} 是否需要本函数返回新创建的子节点的引用 |
- 返回
- {json_node&} return_child 为 true 时创建的新节点的引用, 否则返回本 json 节点对象的引用
◆ add_bool()
json_node& acl::json_node::add_bool |
( |
const char * |
tag, |
|
|
bool |
value, |
|
|
bool |
return_child = false |
|
) |
| |
创建一个布尔类型的 json 节点对象,并将之添加为本 json 节点的子节点
- 参数
-
tag | {const char*} 标签名 |
value | {bool} 标签值 |
return_child | {bool} 是否需要本函数返回新创建的子节点的引用 |
- 返回
- {json_node&} return_child 为 true 时创建的新节点的引用, 否则返回本 json 节点对象的引用
◆ add_child() [1/6]
给本 json 节点添加 json_node 子节点对象
- 参数
-
child | {json_node*} 子节点对象 |
return_child | {bool} 是否需要本函数返回新创建的子节点的引用 |
- 返回
- {json_node&} return_child 为 true 时返回子节点的引用, 否则返回本 json 节点对象的引用
◆ add_child() [2/6]
给本 json 节点添加 json_node 子节点对象
- 参数
-
child | {json_node&} 子节点对象 |
return_child | {bool} 是否需要本函数返回新创建的子节点的引用 |
- 返回
- {json_node&} return_child 为 true 时返回子节点的引用, 否则返回本 json 节点对象的引用
◆ add_child() [3/6]
json_node& acl::json_node::add_child |
( |
bool |
as_array = false , |
|
|
bool |
return_child = false |
|
) |
| |
创建一个 json 节点对象,并将之添加为本 json 节点的子节点
- 参数
-
as_array | {bool} 是否数组对象 |
return_child | {bool} 是否需要本函数返回新创建的子节点的引用 |
- 返回
- {json_node&} return_child 为 true 时创建的新节点的引用, 否则返回本 json 节点对象的引用
◆ add_child() [4/6]
json_node& acl::json_node::add_child |
( |
const char * |
tag, |
|
|
bool |
return_child = false |
|
) |
| |
创建一个 json 节点对象,并将之添加为本 json 节点的子节点
- 参数
-
tag | {const char*} 标签名 |
return_child | {bool} 是否需要本函数返回新创建的子节点的引用 |
- 返回
- {json_node&} return_child 为 true 时创建的新节点的引用, 否则返回本 json 节点对象的引用
◆ add_child() [5/6]
json_node& acl::json_node::add_child |
( |
const char * |
tag, |
|
|
json_node * |
node, |
|
|
bool |
return_child = false |
|
) |
| |
创建一个 json 节点对象,并将之添加为本 json 节点的子节点
- 参数
-
tag | {const char*} 标签名 |
node | {json_node*} 标签值指针 |
return_child | {bool} 是否需要本函数返回新创建的子节点的引用 |
- 返回
- {json_node&} return_child 为 true 时创建的新节点的引用, 否则返回本 json 节点对象的引用
◆ add_child() [6/6]
json_node& acl::json_node::add_child |
( |
const char * |
tag, |
|
|
json_node & |
node, |
|
|
bool |
return_child = false |
|
) |
| |
创建一个 json 节点对象,并将之添加为本 json 节点的子节点
- 参数
-
tag | {const char*} 标签名 |
node | {json_node&} 标签值引用 |
return_child | {bool} 是否需要本函数返回新创建的子节点的引用 |
- 返回
- {json_node&} return_child 为 true 时创建的新节点的引用, 否则返回本 json 节点对象的引用
◆ add_double()
json_node& acl::json_node::add_double |
( |
const char * |
tag, |
|
|
double |
value, |
|
|
bool |
return_child = false |
|
) |
| |
创建一个 double 类型的 json 节点对象,并将之添加为本 json 节点的子节点
- 参数
-
tag | {const char*} 标签名 |
value | {double} 标签值 |
return_child | {bool} 是否需要本函数返回新创建的子节点的引用 |
- 返回
- {json_node&} return_child 为 true 时创建的新节点的引用, 否则返回本 json 节点对象的引用
◆ add_null()
json_node& acl::json_node::add_null |
( |
const char * |
tag, |
|
|
bool |
return_child = false |
|
) |
| |
创建一个 null 类型的 json 节点对象,并将之添加为本 json 节点的子节点
- 参数
-
tag | {const char*} 标签名 |
return_child | {bool} 是否需要本函数返回新创建的子节点的引用 |
- 返回
- {json_node&} return_child 为 true 时创建的新节点的引用, 否则返回本 json 节点对象的引用
◆ add_number()
json_node& acl::json_node::add_number |
( |
const char * |
tag, |
|
|
long long int |
value, |
|
|
bool |
return_child = false |
|
) |
| |
创建一个int64 类型的 json 节点对象,并将之添加为本 json 节点的子节点
- 参数
-
tag | {const char*} 标签名 |
value | {int64} 标签值 |
return_child | {bool} 是否需要本函数返回新创建的子节点的引用 |
- 返回
- {json_node&} return_child 为 true 时创建的新节点的引用, 否则返回本 json 节点对象的引用
◆ add_text()
json_node& acl::json_node::add_text |
( |
const char * |
tag, |
|
|
const char * |
value, |
|
|
bool |
return_child = false |
|
) |
| |
创建一个字符串类型的 json 节点对象,并将之添加为本 json 节点的子节点
- 参数
-
tag | {const char*} 标签名 |
value | {const char*} 标签值 |
return_child | {bool} 是否需要本函数返回新创建的子节点的引用 |
- 返回
- {json_node&} return_child 为 true 时创建的新节点的引用, 否则返回本 json 节点对象的引用 注:此处的 add_text 和 add_child 是同样的功能
◆ children_count()
int acl::json_node::children_count |
( |
void |
| ) |
const |
返回该 json 节点的下一级子节点的个数
- 返回
- {int} 永远 >= 0
◆ clear()
void acl::json_node::clear |
( |
void |
| ) |
|
当在遍历该 json 节点时,内部会动态产生一些临时 json_node 对象,调用 此函数可以清空这些对象,一旦调用此函数进行了清除,则由 first_child, next_child 返回的 json_node 节点对象将不再可用,否则会产生内存非法 访问
◆ depth()
int acl::json_node::depth |
( |
void |
| ) |
const |
返回该 json 节点在整个 json 树中的深度
- 返回
- {int}
◆ detach()
int acl::json_node::detach |
( |
void |
| ) |
|
将本节点及其子节点从 json 树中删除,其内存将由 json 对象统一释放
- 返回
- {int} 被释放的节点数量
◆ first_child()
json_node* acl::json_node::first_child |
( |
void |
| ) |
|
获得本节点的第一个子节点,需要遍历子节点时必须首先调用此函数
- 返回
- {json_node*} 返回空表示没有子节点,返回的非空对象不能 在外部 delete,因为内部会自动释放
◆ get_bool()
const bool* acl::json_node::get_bool |
( |
void |
| ) |
const |
当 json 节点为布尔类型时,该函数返回布尔值的指针地址
- 返回
- {bool*} 当返回 NULL 时表示该对象非布尔类型
◆ get_double()
const double* acl::json_node::get_double |
( |
void |
| ) |
const |
当 json 节点为浮点类型时,该函数返回长整型值的指针地址
- 返回
- {const double*} 当返回 NULL 时表示该对象非浮点类型
◆ get_int64()
const long long int* acl::json_node::get_int64 |
( |
void |
| ) |
const |
当 json 节点为长整型类型时,该函数返回长整型值的指针地址
- 返回
- {const long long int*} 当返回 NULL 时表示该对象非长整型类型
◆ get_json()
json& acl::json_node::get_json |
( |
void |
| ) |
const |
◆ get_json_node()
取出对应于 ACL 库中的 json 节点对象
- 返回
- {ACL_JSON_NODE*} 返回节点对象,注:该节点用户不能单独释放
◆ get_obj()
json_node* acl::json_node::get_obj |
( |
void |
| ) |
const |
当该 json 节点存在子节点时,返回本 json 节点标签对应的 json 子节点
- 返回
- {const json_node*} 返回 NULL 说明不存在子节点 注:get_text 与 get_obj 不会同时返回非 NULL
◆ get_parent()
json_node& acl::json_node::get_parent |
( |
void |
| ) |
const |
- 返回
- {json_node&} 返回本节点的父节点引用,在采用级联方式创建 json 对象时,本函数常被用于返回父节点
◆ get_string()
const char* acl::json_node::get_string |
( |
void |
| ) |
const |
当 json 节点为字符串类型时,该函数返回字符串内容
- 返回
- {const char*} 返回 NULL 表示该节点非字符串类型
◆ get_text()
const char* acl::json_node::get_text |
( |
void |
| ) |
const |
返回该 json 节点的文本标签值,当该值为布尔型或数值型时调用者可 自行进行转换
- 返回
- {const char*} 返回空说明没有文本标签值
◆ get_type()
const char* acl::json_node::get_type |
( |
void |
| ) |
const |
获得该节点类型的描述
- 返回
- {const char*}
◆ is_array()
bool acl::json_node::is_array |
( |
void |
| ) |
const |
◆ is_bool()
bool acl::json_node::is_bool |
( |
void |
| ) |
const |
◆ is_double()
bool acl::json_node::is_double |
( |
void |
| ) |
const |
◆ is_null()
bool acl::json_node::is_null |
( |
void |
| ) |
const |
判断本节点数据是否为 null 类型
- 返回
- {bool}
◆ is_number()
bool acl::json_node::is_number |
( |
void |
| ) |
const |
◆ is_object()
bool acl::json_node::is_object |
( |
void |
| ) |
const |
◆ is_string()
bool acl::json_node::is_string |
( |
void |
| ) |
const |
◆ next_child()
json_node* acl::json_node::next_child |
( |
void |
| ) |
|
获得本节点的下一个子节点
- 返回
- {json_node*} 返回空表示遍历过程结束,返回的非空对象不能 在外部 delete,因为内部会自动释放
◆ operator[]()
json_node* acl::json_node::operator[] |
( |
const char * |
tag | ) |
|
从当前 json 节点的子节点中提取对应标签的 json 子节点
- 参数
-
tag | {const char*} json 子节点的标签名 |
- 返回
- {json_node*} 返回 NULL 表示不存在
◆ set_tag()
bool acl::json_node::set_tag |
( |
const char * |
name | ) |
|
当该 json 节点有标签时,本函数用来新的标签值覆盖旧的标签名
- 参数
-
name | {const char*} 新的标签值,为非空字符串 |
- 返回
- {bool} 返回 false 表示该节点没有标签或输入空串,没有进行替换
◆ set_text()
bool acl::json_node::set_text |
( |
const char * |
text | ) |
|
当该 json 节点为叶节点时,本函数用来替换节点的文本值
- 参数
-
text | {const char*} 新的叶节点文本值,为非空字符串 |
- 返回
- {bool} 返回 false 表示该节点非叶节点或输入非法
◆ tag_name()
const char* acl::json_node::tag_name |
( |
void |
| ) |
const |
取得本 json 节点的标签名
- 返回
- {const char*} 返回 json 节点标签名,如果返回空,则说明 调用者需要判断返回值
◆ to_string()
const string& acl::json_node::to_string |
( |
string * |
out = NULL | ) |
const |
将当前 json 节点转换成 json 字符串(包含本 json 节点及其子节点)
- 参数
-
out | {string*} 非空时,则使用此缓冲区,否则使用内部缓冲区 |
- 返回
- {const char*}
被这些函数引用 acl::serialize().
◆ dbuf_guard
◆ json
long long int acl::json_node::n |
该类的文档由以下文件生成: