当前位置: 首页 > news >正文

cJson函数解析

获取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);
http://www.lryc.cn/news/470730.html

相关文章:

  • 基于SSM+微信小程序的跑腿平台管理系统(跑腿3)
  • mit6824-02-Lab1:MapReduce分布式实现
  • 【NOIP普及组】 装箱问题
  • Flutter主题最佳实践
  • 计算机网络:网络层 —— IPv4 数据报的首部格式
  • MySQL 之 索引
  • 手动探针台的用途及组成部分
  • ❤️算法笔记❤️-(每日一刷-5、最长回文串)
  • nginx 路径匹配,关于“/“对规则的影响
  • 安全知识见闻-网络安全热门证书
  • Pandabuy事件警示:反向海淘品牌如何规避风险
  • 【纯血鸿蒙】安装hdc工具
  • TensorFlow面试整理-给定一个任务(如图像分类、文本分类),如何从头构建一个TensorFlow模型?
  • unity中出现一些莫名其妙的问题
  • Python爬虫-汽车投诉排行榜单数据
  • [C++][数据结构][哈希表]详细讲解
  • Android Gradle
  • Vue2自定义指令及插槽
  • 【Qt】系统相关——多线程、Qt多线程介绍、常用函数、线程安全、网络、UDP Socket、TCP Socket
  • 1GS/s 4通道14bit PCIE采集卡
  • 动态IP是什么?
  • 51单片机完全学习——红外遥控
  • 群控系统服务端开发模式-应用开发-业务架构逻辑开发BaseAPI
  • 【AI日记】24.10.27 了解AI的未来
  • 【时间之外】IT人求职和创业应知【19】
  • MOE混合专家模型总结(面试)
  • 第8次CCF CSP认证真题解
  • 2024昆明ICPC A. Two-star Contest(直观命名+详细注释)
  • 【算法刷题指南】双指针
  • HTML,CSS,JavaScript三件套