cJson系列——常用cJson库函数

打印 上一主题 下一主题

主题 1712|帖子 1712|积分 5136

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
cjson相关教程



  

前言

这里列出常见的Cjson函数

常见的Cjson函数

1. 创建 JSON 对象



  • cJSON *cJSON_CreateObject(void)创建一个新的 JSON 对象(类似于一个字典或哈希表)。
  • cJSON *cJSON_CreateArray(void) 创建一个新的 JSON 数组。
  • cJSON *cJSON_CreateString(const char *string) 创建一个新的 JSON 字符串值。
  • cJSON *cJSON_CreateNumber(double num) 创建一个新的 JSON 数字值。
  • cJSON *cJSON_CreateBool(cJSON_bool boolean) 创建一个新的 JSON 布尔值(true 或 false)。
  • cJSON *cJSON_CreateNull(void) 创建一个新的 JSON null 值。
2. 添加数据到 JSON 对象



  • cJSON_AddItemToObject(cJSON *object, const char *string, cJSON *item) 将一个 JSON 项(item)添加到 JSON 对象(object)中,并利用 string 作为键。
  • cJSON_AddItemToArray(cJSON *array, cJSON *item) 将一个 JSON 项(item)添加到 JSON 数组(array)中。
  • cJSON_AddStringToObject(cJSON *object, const char *string, const char *value) 向 JSON 对象中添加一个字符串键值对。
  • cJSON_AddNumberToObject(cJSON *object, const char *string, double num) 向 JSON 对象中添加一个数字键值对。
  • cJSON_AddBoolToObject(cJSON *object, const char *string, cJSON_bool b) 向 JSON 对象中添加一个布尔值键值对。
  • cJSON_AddNullToObject(cJSON *object, const char *string) 向 JSON 对象中添加一个 null 键值对。
3. 获取数据



  • cJSON *cJSON_GetObjectItem(cJSON *object, const char *string) 获取 JSON 对象中指定键的值。
  • cJSON *cJSON_GetArrayItem(cJSON *array, int index) 获取 JSON 数组中指定索引位置的元素。
  • char *cJSON_GetStringValue(cJSON *item) 获取 JSON 项的字符串值。
  • double cJSON_GetNumberValue(cJSON *item) 获取 JSON 项的数字值。
  • cJSON_bool cJSON_IsString(cJSON *item) 判定一个 JSON 项是否是字符串。
  • cJSON_bool cJSON_IsNumber(cJSON *item) 判定一个 JSON 项是否是数字。
  • cJSON_bool cJSON_IsBool(cJSON *item) 判定一个 JSON 项是否是布尔值。
  • cJSON_bool cJSON_IsArray(cJSON *item) 判定一个 JSON 项是否是数组。
  • cJSON_bool cJSON_IsObject(cJSON *item) 判定一个 JSON 项是否是对象。
4. 操作 JSON 对象



  • void cJSON_Delete(cJSON *item) 删除一个 JSON 项,释放它占用的内存。
  • char *cJSON_Print(cJSON *item) 将 JSON 对象转换为格式化的 JSON 字符串。
  • char *cJSON_PrintUnformatted(cJSON *item) 将 JSON 对象转换为没有格式的 JSON 字符串(适用于紧凑输出)。
  • cJSON *cJSON_Duplicate(cJSON *item, cJSON_bool recurse) 复制一个 JSON 对象或数组,如果 recurse 为 true,则递归复制。
  • void cJSON_ReplaceItemInObject(cJSON *object, const char *string, cJSON *item) 替换 JSON 对象中指定键的值。
  • void cJSON_ReplaceItemInArray(cJSON *array, int index, cJSON *item) 替换 JSON 数组中指定索引位置的元素。
  • cJSON *cJSON_RemoveItemFromObject(cJSON *object, const char *string) 从 JSON 对象中删除指定键的值。
  • cJSON *cJSON_RemoveItemFromArray(cJSON *array, int index) 从 JSON 数组中删除指定索引位置的元素。
5. 剖析 JSON



  • cJSON *cJSON_Parse(const char *value) 剖析一个 JSON 字符串并返回对应的 JSON 对象。如果剖析失败,则返回 NULL。
  • cJSON *cJSON_ParseWithLength(const char *value, size_t length) 与 cJSON_Parse 相似,但答应你指定剖析的字符串长度,适用于处置惩罚大字符串的情况。
6. 输出 JSON 字符串



  • char *cJSON_Print(cJSON *item) 将 cJSON 对象转换为字符串,并返回格式化后的 JSON 字符串。
  • char *cJSON_PrintUnformatted(cJSON *item) 将 cJSON 对象转换为字符串,返回一个未格式化的紧凑型 JSON 字符串。
7. 其他功能



  • cJSON *cJSON_CreateIntArray(const int *numbers, size_t count) 根据给定的整数数组创建一个 JSON 数组。
  • cJSON *cJSON_CreateFloatArray(const float *numbers, size_t count) 根据给定的浮点数数组创建一个 JSON 数组。
  • cJSON *cJSON_CreateDoubleArray(const double *numbers, size_t count) 根据给定的双精度数组创建一个 JSON 数组。
常见的 cJSON 函数总结:

函数名作用cJSON_CreateObject()创建一个空的 JSON 对象cJSON_CreateArray()创建一个空的 JSON 数组cJSON_AddStringToObject()向 JSON 对象中添加字符串类型数据cJSON_AddNumberToObject()向 JSON 对象中添加数字类型数据cJSON_GetObjectItem()获取 JSON 对象中的某个键值cJSON_Print()将 JSON 对象转换为字符串cJSON_Parse()剖析 JSON 字符串,返回 JSON 对象cJSON_Delete()删除 JSON 对象及其包罗的所有数据cJSON_AddItemToObject()向 JSON 对象添加一个项cJSON_IsString()判定项是否为字符串类型
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
继续阅读请点击广告
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

汕尾海湾

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表