JSON(JavaScript Object Notation)是一種輕量級(jí)的數(shù)據(jù)交換格式,它易于讀寫(xiě),也易于解析和生成。JSON采用鍵值對(duì)的方式來(lái)表示一組數(shù)據(jù),這種格式在C語(yǔ)言中的應(yīng)用也非常廣泛。
在C語(yǔ)言中處理JSON格式的數(shù)據(jù),通常需要使用第三方庫(kù)來(lái)實(shí)現(xiàn)。其中比較常用的庫(kù)包括cJSON和Jansson。下面我們以cJSON為例,介紹如何使用這個(gè)庫(kù)來(lái)操作JSON格式的數(shù)據(jù)。
// 創(chuàng)建JSON對(duì)象
cJSON *root = cJSON_CreateObject();
// 添加字符串類(lèi)型鍵值對(duì)
cJSON_AddStringToObject(root, "name", "John");
// 添加整數(shù)類(lèi)型鍵值對(duì)
cJSON_AddNumberToObject(root, "age", 26);
// 添加數(shù)組類(lèi)型鍵值對(duì)
cJSON *arr = cJSON_CreateArray();
cJSON_AddItemToArray(arr, cJSON_CreateString("reading"));
cJSON_AddItemToArray(arr, cJSON_CreateString("writing"));
cJSON_AddItemToObject(root, "hobbies", arr);
// 將JSON對(duì)象轉(zhuǎn)換為字符串
char *jsonStr = cJSON_Print(root);
// 釋放JSON對(duì)象及字符串內(nèi)存
cJSON_Delete(root);
free(jsonStr);
在上面的代碼中,我們首先創(chuàng)建了一個(gè)JSON對(duì)象,然后向?qū)ο笾刑砑恿艘恍╂I值對(duì)。其中包括字符串類(lèi)型、整數(shù)類(lèi)型和數(shù)組類(lèi)型的鍵值對(duì)。最后,我們通過(guò)cJSON_Print將JSON對(duì)象轉(zhuǎn)換為字符串,方便進(jìn)行傳輸或存儲(chǔ)。
除了添加鍵值對(duì)之外,cJSON庫(kù)還提供了許多其他的操作函數(shù),如刪除、查找、修改等。使用這些函數(shù)可以非常方便地操作JSON格式的數(shù)據(jù)。