CJSON函数API说明

1.cJSON_AddItemReferenceToObject(cJSON *object, const char *string, cJSON *item)
作用:将数组添加进对象

2.cJSON_CreateObject(void)
作用:创建项目数组

3.extern cJSON *cJSON_Parse(const char *value);
作用:首先调用cJSON_Parse()函数,解析JSON数据包,并按照cJSON结构体的结构序列化整个数据包。使用该函数会通过malloc()函数在内存中开辟一个空间,使用完成需要手动释放。

4.extern char *cJSON_Print(cJSON *item);
作用:将一个json对象转换成char *,但是这个字符串必须是手动删除

5.cJSON_GetObjectItem(const cJSON * const object, const char * const string);
作用: 调用cJSON_GetObjectItem()函数,可从cJSON结构体中查找某个子节点名称(键名称),如果查找成功可把该子节点序列化到cJSON结构体中。

6.cJSON_PrintUnformatted(const cJSON *item)
作用:将json对象转换成普通的字符串,并且都是以该json对象的根为基点。两个API的区别即是:一个是没有格式的:也就是转换出的字符串中间不会有"\n" "\t"之类的东西存在,而cJSON_Print(root);打印出来是人看起来很舒服的格式。

7.cJSON_CreateArray()
作用:创建数组

8.cJSON_Duplicate(const cJSON *item, cJSON_bool recurse)
作用:复制一个副本 ,recurse:1 递归子元素。创建一个新的完全相同 cJSON item.

9.cJSON_GetObjectItem(const cJSON * const object, const char * const string)
作用:功能:获取json指定的对象成员
参数:*objec:第一个函数中获取的句柄。
string:需要获取的对象
返回值:这个对象成员的句柄 如果json格式的对象成员直接就是字符串那么就可以直接通过结构体中的valuestring元素来获取这个成员的值

10.cJSON *cJSON_GetArrayItem(cJSON *array,int item);
功能:有可能第二个函数中获取到的是成员对象值是一个数组,那么就需要用到这个函数。用来获取这个数组指定的下标对象
参数:*array:传入第二步中返回的值
    item:想要获取这个数组的下标元素
返回值:这个数组中指定下标的对象。然后在对这个返回值重复使用第二步函数就可以获取到各个成员的值了。也就是说对象是数组的比是字符串的要多用一个cJSON_GetArrayItem函数,其他的没区别。

11.cJSON_DetachItemFromObjectCaseSensitive(cJSON *object, const char *string)
作用:函数来从对象中分离出一个元素,从函数命名可以看出对于指定的键值是大小写敏感的,它将会返回被分离的数组。为避免内存泄漏,确保将返回值赋值给一个指针

12.cJSON_AddItemReferenceToArray(cJSON *array, cJSON *item)
作用:使用cJSON_AddItemToArray函数可以在数组的最后增加元素。使用cJSON_AddItemReferenceToArray函数将会增加一个元素去引用其他的节点,这就意味着cJSON_Delete不会去删除这个元素的child或者valuestring属性,因此当这些属性在其他地方使用的时候,不用担心重复释放内存的事情发生。使用cJSON_InsertItemInArray函数可以将一个新元素插入数组中的0索引的位置,旧的元素的索引依次加1。/* 将对项的引用附加到指定的数组/对象。当您想要将现有的cJSON添加到新的cJSON中,但又不想破坏现有的cJSON时,请使用此选项 */

13.cJSON_AddItemToObject(cJSON *object, const char *string, cJSON *item)
作用:就是在object这个链表的最后面加一个item结构体,且将string赋值给item->string

14.cJSON_GetStringValue(cJSON *item)
作用:得到字符串的值

15.cJSON_GetErrorPtr(void)
作用:当传入的字符串解析失败就返回解析失败处的地址后边的字符串!

16.cJSON_GetObjectItemCaseSensitive(const cJSON * const object, const char * const string)
作用:访问对象中的某一个元素。在object里获取和string一样的字符。

  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
cJSON是一个轻量级的JSON解析器和生成器,适用于C语言。它提供了一些方便的API用于解析和生成JSON数据。下面是cJSON库的常用函数介绍: ### 1. cJSON_Parse 解析JSON字符串,返回cJSON对象。 ```c cJSON *cJSON_Parse (const char *value); ``` ### 2. cJSON_Print 将cJSON对象转换成字符串。 ```c char *cJSON_Print (const cJSON *item); ``` ### 3. cJSON_AddItemToObject 将一个cJSON对象作为子对象添加到另一个cJSON对象中。 ```c void cJSON_AddItemToObject (cJSON *object, const char *string, cJSON *item); ``` ### 4. cJSON_GetObjectItem 获取一个cJSON对象中指定名称的子对象。 ```c cJSON *cJSON_GetObjectItem (const cJSON *object, const char *string); ``` ### 5. cJSON_CreateObject 创建一个空的cJSON对象。 ```c cJSON *cJSON_CreateObject (void); ``` ### 6. cJSON_CreateString 创建一个cJSON字符串对象。 ```c cJSON *cJSON_CreateString (const char *string); ``` ### 7. cJSON_CreateNumber 创建一个cJSON数字对象。 ```c cJSON *cJSON_CreateNumber (double num); ``` ### 8. cJSON_CreateBool 创建一个cJSON布尔对象。 ```c cJSON *cJSON_CreateBool (int b); ``` ### 9. cJSON_CreateArray 创建一个空的cJSON数组对象。 ```c cJSON *cJSON_CreateArray (void); ``` ### 10. cJSON_Delete 释放一个cJSON对象及其内存。 ```c void cJSON_Delete (cJSON *item); ``` 上述函数是cJSON库中的常用函数,使用这些函数可以实现JSON数据的解析和生成。需要注意的是,在使用完cJSON对象后需要调用cJSON_Delete函数释放对象及其内存。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值