JSON是一種輕量級的數據交換格式,越來越受到開發者的歡迎。在C語言中操作JSON可以采用第三方庫cJSON。
首先需要在程序中引入cJSON頭文件:
#include "cJSON.h"
接下來可以根據需要創建JSON對象,例如:
cJSON *root = cJSON_CreateObject(); cJSON_AddStringToObject(root, "name", "張三"); cJSON_AddStringToObject(root, "gender", "男"); cJSON_AddNumberToObject(root, "age", 18);
以上代碼創建了一個名為root的JSON對象,其中包含了三個鍵值對,分別是name、gender和age。其中,name和gender是字符串類型,使用cJSON_AddStringToObject函數添加;age是數值類型,使用cJSON_AddNumberToObject函數添加。
可以使用cJSON_Print函數將JSON對象轉換成字符串,例如:
char *json_str = cJSON_Print(root); printf("%s\n", json_str); free(json_str);
以上代碼將JSON對象轉換成字符串,并打印輸出。注意,轉換后的字符串必須使用free函數釋放內存。
如果需要從JSON字符串中解析出JSON對象,可以使用cJSON_Parse函數,例如:
cJSON *root = cJSON_Parse(json_str); if (root == NULL) { printf("解析JSON字符串失敗\n"); return -1; }
以上代碼將JSON字符串解析成JSON對象,并判斷解析是否成功。如果解析失敗,返回NULL。
接下來可以使用cJSON_GetObjectItem函數獲取JSON對象中的值,例如:
cJSON *name_obj = cJSON_GetObjectItem(root, "name"); if (name_obj != NULL) { printf("name=%s\n", name_obj->valuestring); }
以上代碼獲取JSON對象中鍵為name的值,并打印輸出。
需要注意的是,在使用cJSON函數操作JSON對象時要注意內存的管理,避免內存泄漏。
上一篇python 經緯度測距
下一篇vue前端分頁效果