在使用 C 語(yǔ)言處理 AJAX 傳遞的 JSON 前,首先需要確保已經(jīng)安裝了 cJSON 庫(kù)。cJSON 是用 C 語(yǔ)言編寫(xiě)的輕量級(jí) JSON 庫(kù),可用于生成和解析 JSON 數(shù)據(jù)。安裝 cJSON 庫(kù)非常簡(jiǎn)單,可以從 GitHub 中下載 cJSON 的最新版本,然后解壓縮該文件,將其放置在項(xiàng)目路徑下。接下來(lái),我們需要在項(xiàng)目中引用 cJSON 庫(kù)的頭文件。
#include "cJSON.h"
在獲得 AJAX 傳遞的 JSON 數(shù)據(jù)后,我們需要使用 cJSON 庫(kù)的相關(guān)函數(shù)解析該 JSON 數(shù)據(jù)。下面是一個(gè)簡(jiǎn)單的例子:
char* json_data = "{ \"name\": \"Jack\", \"age\": \"25\", \"sex\": \"male\" }"; cJSON* root = cJSON_Parse(json_data); if (root == NULL) { printf("Error before: %s\n", cJSON_GetErrorPtr()); } else { cJSON* name = cJSON_GetObjectItem(root, "name"); cJSON* age = cJSON_GetObjectItem(root, "age"); cJSON* sex = cJSON_GetObjectItem(root, "sex"); printf("Name: %s\n", name->valuestring); printf("Age: %d\n", age->valueint); printf("Sex: %s\n", sex->valuestring); cJSON_Delete(root); }
在解析 JSON 數(shù)據(jù)時(shí),我們首先需要使用 cJSON_Parse 函數(shù)將其轉(zhuǎn)換為 cJSON 對(duì)象。如果函數(shù)返回 null,則說(shuō)明 JSON 數(shù)據(jù)格式錯(cuò)誤。否則,我們可以使用 cJSON_GetObjectItem 函數(shù)獲取對(duì)象中的屬性,并使用相應(yīng)的 cJSON 函數(shù)獲取屬性值。最后,我們不要忘記刪除 cJSON 對(duì)象,否則可能會(huì)造成內(nèi)存泄漏。