北京好的做网站的公司微信营销工具
获取json版本号
CJSON_PUBLIC(const char*) cJSON_Version(void);
设置自定义内存分配函数
CJSON_PUBLIC(void) cJSON_InitHooks(cJSON_Hooks* hooks);
解析 JSON 字符串并将其转换为 cJSON 数据结构
CJSON_PUBLIC(cJSON *) cJSON_Parse(const char *value);
用于解析指定长度的 JSON 字符串
CJSON_PUBLIC(cJSON *) cJSON_ParseWithLength(const char *value, size_t buffer_length);
cJSON 库中的一个高级解析函数,用于解析 JSON 字符串,并提供选项以控制解析行为。
CJSON_PUBLIC(cJSON *) cJSON_ParseWithOpts(const char *value, const char **return_parse_end, cJSON_bool require_null_terminated);
在指定长度的 JSON 字符串上执行解析,同时提供额外的选项以更灵活地控制解析行为。
CJSON_PUBLIC(cJSON *) cJSON_ParseWithLengthOpts(const char *value, size_t buffer_length, const char **return_parse_end, cJSON_bool require_null_terminated);
用于将 cJSON 对象转化为格式化的 JSON 字符串,便于输出和查看。
CJSON_PUBLIC(char *) cJSON_Print(const cJSON *item);
用于将 cJSON 对象转化为未经格式化的紧凑 JSON 字符串。与 cJSON_Print 不同,cJSON_PrintUnformatted 输出的 JSON 字符串没有换行和缩进,更适合在需要节省存储空间的场景中使用。
CJSON_PUBLIC(char *) cJSON_PrintUnformatted(const cJSON *item);
用于将 cJSON 对象转换为格式化的 JSON 字符串,并在生成时更有效地分配内存,适合处理较大 JSON 数据的场景。与 cJSON_Print 不同的是,cJSON_PrintBuffered 允许指定缓冲区的大小和控制内存分配。
CJSON_PUBLIC(char *) cJSON_PrintBuffered(const cJSON *item, int prebuffer, cJSON_bool fmt);
用于在预先分配的缓冲区中打印 JSON 对象。与其他 cJSON_Print 函数不同,cJSON_PrintPreallocated 允许使用预分配的内存块来存储生成的 JSON 字符串,避免动态内存分配,适合内存管理严格的环境。
CJSON_PUBLIC(cJSON_bool) cJSON_PrintPreallocated(cJSON *item, char *buffer, const int length, const cJSON_bool format);
用于释放由 cJSON 对象占用的内存。任何通过 cJSON 创建的对象都应在不再需要时使用 cJSON_Delete 释放,以避免内存泄漏。
CJSON_PUBLIC(void) cJSON_Delete(cJSON *item);
用于获取 JSON 数组中元素的数量。该函数非常有用,尤其在处理未知长度的 JSON 数组时,可以帮助您遍历整个数组。
CJSON_PUBLIC(int) cJSON_GetArraySize(const cJSON *array);
用于获取 JSON 数组中指定索引位置的元素。此函数在处理 JSON 数组时非常有用,可以通过索引访问数组中的每个元素。
CJSON_PUBLIC(cJSON *) cJSON_GetArrayItem(const cJSON *array, int index);
用于从 JSON 对象中获取指定键的值。该函数在处理 JSON 对象时非常有用,可以通过键名快速访问相应的值。
CJSON_PUBLIC(cJSON *) cJSON_GetObjectItem(const cJSON * const object, const char * const string);
用于从 JSON 对象中获取指定键的值,并且该函数对键的大小写敏感。这意味着只有完全匹配(包括大小写)的键才能找到对应的值。
CJSON_PUBLIC(cJSON *) cJSON_GetObjectItemCaseSensitive(const cJSON * const object, const char * const string);
用于检查 JSON 对象中是否存在指定的键。这个函数在处理 JSON 数据时非常有用,特别是当你想要验证某个键是否存在于对象中时。
CJSON_PUBLIC(cJSON_bool) cJSON_HasObjectItem(const cJSON *object, const char *string);
用于从 cJSON 对象中获取字符串值。这个函数非常方便,因为它简化了从字符串类型的 cJSON 对象中提取值的过程。
CJSON_PUBLIC(char *) cJSON_GetStringValue(const cJSON * const item);
用于从 cJSON 对象中获取数字值。这个函数简化了从数字类型的 cJSON 对象中提取值的过程。
CJSON_PUBLIC(double) cJSON_GetNumberValue(const cJSON * const item);
用于检查 cJSON 对象是否有效。这个函数常用于判断一个 cJSON 对象是否处于无效状态(例如,尚未初始化或已被释放)。
CJSON_PUBLIC(cJSON_bool) cJSON_IsInvalid(const cJSON * const item);
用于检查 cJSON 对象是否表示布尔值 false。这个函数在处理 JSON 数据时非常有用,特别是当需要判断某个值是否为 false 时。
CJSON_PUBLIC(cJSON_bool) cJSON_IsFalse(const cJSON * const item);
用于检查 cJSON 对象是否表示布尔值 true。这个函数在处理 JSON 数据时非常有用,特别是当需要判断某个值是否为 true 时。
CJSON_PUBLIC(cJSON_bool) cJSON_IsTrue(const cJSON * const item);
用于检查 cJSON 对象是否表示布尔值(true 或 false)。这个函数在处理 JSON 数据时非常有用,尤其是在需要确认某个值是否为布尔类型时。
CJSON_PUBLIC(cJSON_bool) cJSON_IsBool(const cJSON * const item);
用于检查 cJSON 对象是否表示 null 值。这个函数在处理 JSON 数据时非常有用,尤其是在需要判断某个值是否为 null 时。
CJSON_PUBLIC(cJSON_bool) cJSON_IsNull(const cJSON * const item);
用于检查 cJSON 对象是否表示数字类型。这个函数在处理 JSON 数据时非常有用,特别是当需要确认某个值是否为数字时。
CJSON_PUBLIC(cJSON_bool) cJSON_IsNumber(const cJSON * const item);
用于检查 cJSON 对象是否表示字符串类型。这个函数在处理 JSON 数据时非常有用,特别是当需要确认某个值是否为字符串时。
CJSON_PUBLIC(cJSON_bool) cJSON_IsString(const cJSON * const item);
用于检查 cJSON 对象是否表示数组类型。这个函数在处理 JSON 数据时非常有用,特别是当需要确认某个值是否为数组时。
CJSON_PUBLIC(cJSON_bool) cJSON_IsArray(const cJSON * const item);
用于检查 cJSON 对象是否表示对象类型。这个函数在处理 JSON 数据时非常有用,特别是当需要确认某个值是否为对象时。
CJSON_PUBLIC(cJSON_bool) cJSON_IsObject(const cJSON * const item);
,用于检查 cJSON 对象是否表示原始(raw)类型。原始类型通常是指不带引号的字符串,类似于 JSON 的某些特殊格式,例如未转义的文本。
CJSON_PUBLIC(cJSON_bool) cJSON_IsRaw(const cJSON * const item);
用于创建一个表示 null 值的 cJSON 对象。这个函数在构建 JSON 数据时非常有用,尤其是在需要表示空值或缺失值的情况下。
CJSON_PUBLIC(cJSON *) cJSON_CreateNull(void);
用于创建一个表示布尔值 true 的 cJSON 对象。这个函数在构建 JSON 数据时非常有用,尤其是在需要表示真值的情况下。
CJSON_PUBLIC(cJSON *) cJSON_CreateTrue(void);
用于创建一个表示布尔值 false 的 cJSON 对象。这个函数在构建 JSON 数据时非常有用,尤其是在需要表示假值的情况下。
CJSON_PUBLIC(cJSON *) cJSON_CreateFalse(void);
创建一个表示布尔值的 cJSON 对象(true 或 false)
CJSON_PUBLIC(cJSON *) cJSON_CreateBool(cJSON_bool boolean);
创建一个表示数字值的 cJSON 对象。
CJSON_PUBLIC(cJSON *) cJSON_CreateNumber(double num);
创建一个表示字符串值的 cJSON 对象。
CJSON_PUBLIC(cJSON *) cJSON_CreateString(const char *string);
创建一个表示原始字符串值的 cJSON 对象,通常用于未加引号的文本。
CJSON_PUBLIC(cJSON *) cJSON_CreateRaw(const char *raw);
创建一个空的 cJSON 数组对象。
CJSON_PUBLIC(cJSON *) cJSON_CreateArray(void);
创建一个空的 cJSON 对象。
CJSON_PUBLIC(cJSON *) cJSON_CreateObject(void);
创建一个字符串引用,不会复制字符串,只引用原始字符串。
CJSON_PUBLIC(cJSON *) cJSON_CreateStringReference(const char *string);
创建一个对象引用。
CJSON_PUBLIC(cJSON *) cJSON_CreateObjectReference(const cJSON *child);
创建一个数组引用。
CJSON_PUBLIC(cJSON *) cJSON_CreateArrayReference(const cJSON *child);
创建一个整数数组对象。
CJSON_PUBLIC(cJSON *) cJSON_CreateIntArray(const int *numbers, int count);
创建一个浮点数数组对象。
CJSON_PUBLIC(cJSON *) cJSON_CreateFloatArray(const float *numbers, int count);
创建一个双精度浮点数数组对象。
CJSON_PUBLIC(cJSON *) cJSON_CreateDoubleArray(const double *numbers, int count);
创建一个字符串数组对象。
CJSON_PUBLIC(cJSON *) cJSON_CreateStringArray(const char *const *strings, int count);
向数组中添加一个新项。
CJSON_PUBLIC(cJSON_bool) cJSON_AddItemToArray(cJSON *array, cJSON *item);
向对象中添加一个新项。
CJSON_PUBLIC(cJSON_bool) cJSON_AddItemToObject(cJSON *object, const char *string, cJSON *item);
向对象中添加一个新项,键名区分大小写。
CJSON_PUBLIC(cJSON_bool) cJSON_AddItemToObjectCS(cJSON *object, const char *string, cJSON *item);
向数组中添加一个引用项(不会复制)。
CJSON_PUBLIC(cJSON_bool) cJSON_AddItemReferenceToArray(cJSON *array, cJSON *item);
向对象中添加一个引用项(不会复制)。
CJSON_PUBLIC(cJSON_bool) cJSON_AddItemReferenceToObject(cJSON *object, const char *string, cJSON *item);
通过指针从对象或数组中分离一个项。
CJSON_PUBLIC(cJSON *) cJSON_DetachItemViaPointer(cJSON *parent, cJSON * const item);
从数组中分离一个项。
CJSON_PUBLIC(cJSON *) cJSON_DetachItemFromArray(cJSON *array, int which);
从数组中删除一个项。
CJSON_PUBLIC(void) cJSON_DeleteItemFromArray(cJSON *array, int which);
从对象中分离一个项。
CJSON_PUBLIC(cJSON *) cJSON_DetachItemFromObject(cJSON *object, const char *string);
从对象中分离一个项,区分大小写。
CJSON_PUBLIC(cJSON *) cJSON_DetachItemFromObjectCaseSensitive(cJSON *object, const char *string);
从对象中删除一个项。
CJSON_PUBLIC(void) cJSON_DeleteItemFromObject(cJSON *object, const char *string);
从对象中删除一个项,区分大小写。
CJSON_PUBLIC(void) cJSON_DeleteItemFromObjectCaseSensitive(cJSON *object, const char *string);
在数组的指定位置插入一个项。
CJSON_PUBLIC(cJSON_bool) cJSON_InsertItemInArray(cJSON *array, int which, cJSON *newitem); /* Shifts pre-existing items to the right. */
用新项替换已存在的项。
CJSON_PUBLIC(cJSON_bool) cJSON_ReplaceItemViaPointer(cJSON * const parent, cJSON * const item, cJSON * replacement);
用新项替换数组中的项。
CJSON_PUBLIC(cJSON_bool) cJSON_ReplaceItemInArray(cJSON *array, int which, cJSON *newitem);
用新项替换对象中的项。
CJSON_PUBLIC(cJSON_bool) cJSON_ReplaceItemInObject(cJSON *object,const char *string,cJSON *newitem);
用新项替换对象中的项,区分大小写。
CJSON_PUBLIC(cJSON_bool) cJSON_ReplaceItemInObjectCaseSensitive(cJSON *object,const char *string,cJSON *newitem);
复制一个 cJSON 对象。
CJSON_PUBLIC(cJSON *) cJSON_Duplicate(const cJSON *item, cJSON_bool recurse);
比较两个 cJSON 对象是否相等。
CJSON_PUBLIC(cJSON_bool) cJSON_Compare(const cJSON * const a, const cJSON * const b, const cJSON_bool case_sensitive);
去除 JSON 字符串中的多余空白字符。
CJSON_PUBLIC(void) cJSON_Minify(char *json);
向对象中添加一个 null 项。
CJSON_PUBLIC(cJSON*) cJSON_AddNullToObject(cJSON * const object, const char * const name);
向对象中添加一个 true 项。
CJSON_PUBLIC(cJSON*) cJSON_AddTrueToObject(cJSON * const object, const char * const name);
向对象中添加一个 false 项。
CJSON_PUBLIC(cJSON*) cJSON_AddFalseToObject(cJSON * const object, const char * const name);
向对象中添加一个布尔值项。
CJSON_PUBLIC(cJSON*) cJSON_AddBoolToObject(cJSON * const object, const char * const name, const cJSON_bool boolean);
向对象中添加一个数字项。
CJSON_PUBLIC(cJSON*) cJSON_AddNumberToObject(cJSON * const object, const char * const name, const double number);
向对象中添加一个字符串项。
CJSON_PUBLIC(cJSON*) cJSON_AddStringToObject(cJSON * const object, const char * const name, const char * const string);
向对象中添加一个原始 JSON 字符串项。
CJSON_PUBLIC(cJSON*) cJSON_AddRawToObject(cJSON * const object, const char * const name, const char * const raw);
向对象中添加一个嵌套对象项。
CJSON_PUBLIC(cJSON*) cJSON_AddObjectToObject(cJSON * const object, const char * const name);
向对象中添加一个数组项。
CJSON_PUBLIC(cJSON*) cJSON_AddArrayToObject(cJSON * const object, const char * const name);
设置 cJSON 对象的整数值。
#define cJSON_SetIntValue(object, number) ((object) ? (object)->valueint = (object)->valuedouble = (number) : (number))
设置 cJSON 对象的数字值,适用于浮点数。
CJSON_PUBLIC(double) cJSON_SetNumberHelper(cJSON *object, double number);
设置 cJSON 对象的数字值。
#define cJSON_SetNumberValue(object, number) ((object != NULL) ? cJSON_SetNumberHelper(object, (double)number) : (number))
设置 cJSON 对象的字符串值。
CJSON_PUBLIC(char*) cJSON_SetValuestring(cJSON *object, const char *valuestring);
遍历 cJSON 数组中的每个项。
#define cJSON_ArrayForEach(element, array) for(element = (array != NULL) ? (array)->child : NULL; element != NULL; element = element->next)
分配内存。
CJSON_PUBLIC(void *) cJSON_malloc(size_t size);
释放内存。
CJSON_PUBLIC(void) cJSON_free(void *object);