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:要加入數組對象的對象指針

函數返回:

說明:
向數組對象中加入一個新的元素

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章