JSON(JavaScript Object Notation)是一種輕量級(jí)的數(shù)據(jù)交換格式。在C語(yǔ)言中,可以使用第三方庫(kù) cJSON 來(lái)讀寫 JSON 數(shù)據(jù)。
cJSON庫(kù)是一個(gè)輕量級(jí)的JSON解析器和生成器。它可以支持所有嵌套的JSON數(shù)據(jù)類型(數(shù)組、對(duì)象、字符串、布爾值、數(shù)字和null),并可以生成格式化的JSON數(shù)據(jù)。
/* cJSON庫(kù)的基本用法 */ #include#include #include "cJSON.h" int main() { // 生成JSON對(duì)象 cJSON* root = cJSON_CreateObject(); if (root == NULL) { printf("創(chuàng)建JSON對(duì)象失敗\n"); return 1; } // 添加鍵值對(duì) cJSON_AddStringToObject(root, "name", "Jack"); cJSON_AddNumberToObject(root, "age", 25); // 將JSON對(duì)象轉(zhuǎn)換成字符串 char* json_str = cJSON_Print(root); printf("生成的JSON字符串為:%s\n", json_str); // 釋放JSON對(duì)象和JSON字符串的內(nèi)存 cJSON_Delete(root); free(json_str); return 0; }
在上面的代碼中,首先使用 cJSON_CreateObject() 函數(shù)創(chuàng)建一個(gè)空的 JSON 對(duì)象,然后使用 cJSON_AddStringToObject() 和 cJSON_AddNumberToObject() 函數(shù)向?qū)ο笾刑砑渔I值對(duì)。最后,使用 cJSON_Print() 將 JSON 對(duì)象轉(zhuǎn)換成字符串,方便于存儲(chǔ)或傳輸。
除了創(chuàng)建和生成 JSON 數(shù)據(jù),cJSON庫(kù)還提供了一些其他的功能,比如解析 JSON 字符串、獲取 JSON 對(duì)象中的鍵值對(duì)、修改 JSON 對(duì)象中的鍵值對(duì)等等。
總之,在C語(yǔ)言中使用cJSON庫(kù)讀寫 JSON 數(shù)據(jù)非常方便和簡(jiǎn)單,可以通過(guò)閱讀官方文檔和示例代碼來(lái)深入了解其更多功能。