JSON(JavaScript Object Notation)是一種輕量級的數據交換格式,常用于前后端之間的數據傳輸。在 C 語言中,我們可以使用第三方庫來解析 JSON 數據。以下是一個使用 cJSON 庫在 C 語言中解析 JSON 數據的示例代碼:
#include#include #include "cJSON.h" int main() { char *json_str = "{ \"name\": \"Tom\", \"age\": 18 }"; // JSON 字符串 cJSON *root = cJSON_Parse(json_str); // 解析 JSON 數據 if (root == NULL) { printf("JSON 解析失敗\n"); return -1; } cJSON *name_item = cJSON_GetObjectItem(root, "name"); // 獲取 name 字段 if (cJSON_IsString(name_item)) { printf("name: %s\n", name_item->valuestring); // 輸出 name 值 } cJSON *age_item = cJSON_GetObjectItem(root, "age"); // 獲取 age 字段 if (cJSON_IsNumber(age_item)) { printf("age: %d\n", age_item->valueint); // 輸出 age 值 } cJSON_Delete(root); // 釋放 cJSON 對象 return 0; }
在這段代碼中,我們構造了一個包含 name 和 age 字段的 JSON 字符串,然后使用 cJSON_Parse 函數解析該字符串。之后,我們通過 cJSON_GetObjectItem 函數分別獲取 name 和 age 字段的值,并使用 cJSON_IsString 和 cJSON_IsNumber 等函數判斷這些字段的類型。最后,使用 cJSON_Delete 函數釋放 cJSON 對象。
使用 cJSON 庫能夠幫助我們更方便地解析 JSON 數據,實現前后端的數據傳輸。尤其是在對于大型的 JSON 數據,手動解析并不容易,使用 cJSON 庫更加高效、穩定。