c JSON格式讀寫是指通過編程語言操作JSON格式的字符串,實現JSON數據的讀取與修改。在C語言中,可以使用第三方開源庫cJSON來實現JSON的解析與生成。
/* 代碼示例1:JSON字符串解析 */ #include#include #include "cJSON.h" int main() { char *json_str = "{\"name\":\"Tom\",\"age\":20}"; cJSON *root = cJSON_Parse(json_str); //解析JSON字符串 if (root == NULL) { printf("JSON解析失敗!\n"); return 0; } cJSON *name_node = cJSON_GetObjectItem(root, "name"); //獲取節點對象 if (name_node == NULL) { printf("獲取節點對象失敗!\n"); cJSON_Delete(root); return 0; } char *name = name_node->valuestring; //獲取節點值 printf("name:%s\n", name); cJSON_Delete(root); //釋放內存 return 0; }
代碼示例1演示了如何解析JSON格式的字符串,并獲取其節點的值。首先,JSON字符串需要符合JSON格式,即使用大括號包裹鍵值對。使用cJSON_Parse函數解析JSON字符串后,將返回一個cJSON對象指針。通過cJSON_GetObjectItem函數獲取指定鍵值的節點對象,再通過節點對象的valuestring屬性獲取其值。
/* 代碼示例2:JSON字符串生成 */ #include#include #include "cJSON.h" int main() { cJSON *root = cJSON_CreateObject(); //創建JSON對象 cJSON *name_node = cJSON_CreateString("Tom"); //創建字符串節點 cJSON_AddItemToObject(root, "name", name_node); //添加節點到對象 char *json_str = cJSON_Print(root); //生成JSON字符串 printf("json_str:%s\n", json_str); free(json_str); //釋放內存 cJSON_Delete(root); //釋放內存 return 0; }
代碼示例2演示了如何生成JSON格式的字符串。首先,使用cJSON_CreateObject函數創建一個JSON對象指針。使用cJSON_CreateString函數創建一個字符串節點,并通過cJSON_AddItemToObject函數添加節點到對象中。最后,使用cJSON_Print函數將JSON對象生成字符串,并將其輸出。
cJSON格式讀寫是C語言中處理JSON格式數據的重要手段之一。借助cJSON庫,C語言可以方便地解析生成JSON格式的數據,實現C語言與其他語言間的數據交換和通信。
下一篇vue學生簽到系統