JSON (JavaScript Object Notation) 是一種輕量級的數據交換格式,常用于 Web 應用程序中數據的傳輸和存儲。C 語言是一種非常流行的編程語言, 在許多應用程序中都使用到了 C 語言的庫。在 C 語言中,能夠處理 JSON 數據是非常重要的,這使得程序可以輕松地讀取和處理來自網絡的數據。
在 C 語言中,引入了許多用于處理 JSON 數據的庫,其中最流行的庫是 cJSON。cJSON 是一個輕量級、快速、可嵌入的 JSON 解析器和生成器庫,它僅包含兩個文件,可以在大多數操作系統上使用。
#include "cJSON.h" int main() { // 創建 JSON 對象 cJSON *root = cJSON_CreateObject(); // 添加 key-value 對 cJSON_AddStringToObject(root, "name", "Tom"); cJSON_AddNumberToObject(root, "age", 20); // 將 JSON 對象轉換成字符串 char *json = cJSON_Print(root); printf("%s\n", json); // 解析 JSON 字符串 cJSON *newRoot = cJSON_Parse(json); cJSON *name = cJSON_GetObjectItemCaseSensitive(newRoot, "name"); cJSON *age = cJSON_GetObjectItemCaseSensitive(newRoot, "age"); printf("%s is %d years old\n", name->valuestring, age->valueint); // 釋放內存 cJSON_Delete(root); cJSON_Delete(newRoot); free(json); return 0; }
cJSON 庫提供了易于使用的 API,可以幫助我們快速解析和生成 JSON 數據。cJSON_Parse() 函數可以將 JSON 字符串解析成一個 cJSON 對象,而 cJSON_Print() 函數可以將 cJSON 對象轉換成 JSON 字符串。此外,cJSON_GetObjectItem() 函數可以獲取對象中的值。