JSON是一種輕量級(jí)數(shù)據(jù)交換格式,它的名稱來(lái)源于JavaScript Object Notation。
在C語(yǔ)言中,我們可以使用 cJSON 庫(kù)來(lái)解析和生成 JSON 文本及對(duì)象。其中,cJSON 內(nèi)部維護(hù)了一個(gè)雙向鏈表來(lái)存儲(chǔ) JSON 數(shù)據(jù)。接下來(lái),我們來(lái)講一下如何使用 cJSON 庫(kù)來(lái)處理 JSON 數(shù)組。
// 創(chuàng)建一個(gè) JSON 數(shù)組 cJSON *root = cJSON_CreateArray(); // 向數(shù)組中添加元素 cJSON *element1 = cJSON_CreateObject(); cJSON_AddStringToObject(element1, "name", "Tom"); cJSON_AddNumberToObject(element1, "age", 18); cJSON_AddItemToArray(root, element1); cJSON *element2 = cJSON_CreateObject(); cJSON_AddStringToObject(element2, "name", "Jerry"); cJSON_AddNumberToObject(element2, "age", 20); cJSON_AddItemToArray(root, element2); // 將 JSON 數(shù)組轉(zhuǎn)換成字符串 char *jsonStr = cJSON_PrintUnformatted(root); printf("%s", jsonStr); // 釋放資源 cJSON_Delete(root); cJSON_free(jsonStr);
在上面的代碼中,我們首先創(chuàng)建了一個(gè) JSON 數(shù)組,然后添加了兩個(gè)元素并把它們放入數(shù)組中。最后,使用 cJSON_PrintUnformatted 函數(shù)將 JSON 數(shù)組轉(zhuǎn)換成字符串,并輸出到控制臺(tái)。
注意,在使用 cJSON 庫(kù)時(shí),我們需要手動(dòng)釋放資源,否則會(huì)出現(xiàn)內(nèi)存泄漏。