cJSON使用_介绍

1 简介

工作中经常使用JSON字符串进行数据传输,所以需要构造或者解析json数据,这里主要对开源的cJSON做个简单介绍,防止遗忘。

2下载及编译

2.1 cJSON库的下载地址:

https://github.com/DaveGamble/cJSON

2.2 编译

我们可以直接将cJSON编译为库或者将文件”cJSON.h” “cJSON.c”包含到自己的工程中即可。

在https://github.com/DaveGamble/cJSON 的README中,有详细介绍cJSON的用法,并且在下载的源码中有测试例程test.c,可以进行参考。

3 重要函数简介

3.1 cJSON_Parse

函数原型:

CJSON_PUBLIC(cJSON *) cJSON_Parse(const char *value);

函数参数:

value:json字符串

函数返回:

返回json对象,弱失败,则返回NULL

说明:
此函数主要对传进去的数据进行解析,并返回json对象

3.2 cJSON_Delete

函数原型:

CJSON_PUBLIC(void) cJSON_Delete(cJSON *c);

函数参数:

c: json对象

函数返回:

说明:
当使用完json相关的指针后,就调用此函数,释放内存

3.3 cJSON_Print

函数原型:

CJSON_PUBLIC(char *) cJSON_Print(const cJSON *item);

函数参数:

item:json对象

函数返回:

指向json字符串的地址指针

说明:
将json结构输出为字符串的形式

3.4 cJSON_GetObjectItem

函数原型:

CJSON_PUBLIC(cJSON *) cJSON_GetObjectItem(const cJSON * const object, const char * const string);

函数参数:

object:json对象指针
string:要获取的字符串

函数返回:

成功:返回指向json结构体指针
失败:NULL

说明:
获取json字符串字段值

3.5 cJSON_CreateObject

函数原型:

CJSON_PUBLIC(cJSON *) cJSON_CreateObject(void);

函数参数:

函数返回:

说明:
创建一个json对象

3.6 cJSON_CreateNumber

函数原型:

CJSON_PUBLIC(cJSON *) cJSON_CreateNumber(double num);

函数参数:

number:值

函数返回:

被创建的值的json对象

说明:
当我们想向某个json对象增加值的时候,需要先调用这个函数创建这个值的对象

3.7 cJSON_CreateString

函数原型:

CJSON_PUBLIC(cJSON *) cJSON_CreateString(const char *string);

函数参数:

string:字符串值

函数返回:

被创建的值的json对象

说明:
当我们想向某个json对象增加字符串值的时候,需要先调用这个函数创建这个值的对象

3.8 cJSON_CreateArray

函数原型:

CJSON_PUBLIC(cJSON *) cJSON_CreateArray(void);

函数参数:

函数返回:

创建数组的json指针对象

说明:
当向某个json对象中增加数组的时候,调用此函数创建数组指针

3.9 cJSON_AddItemToObject

函数原型:

CJSON_PUBLIC(void) cJSON_AddItemToObject(cJSON *object, const char *string, cJSON *item);

函数参数:

object: json对象
string: 要加入的元素的名字
item: 要加入元素的json指针

函数返回:

说明:
向object中加入一个元素

3.10 cJSON_AddItemToArray

函数原型:

CJSON_PUBLIC(void) cJSON_AddItemToArray(cJSON *array, cJSON *item);

函数参数:

array: json数组对象指针
item:要加入数组对象的对象指针

函数返回:

说明:
向数组对象中加入一个新的元素

猜你喜欢

转载自blog.csdn.net/u011003120/article/details/100581586