JSON(JavaScript Object Notation)是一種輕量級的數據交換格式,簡單易讀且易于編寫和解析。在C編程中,我們可以使用cJSON庫來處理JSON數據。
使用cJSON庫需要先下載并安裝,可以從其官網(https://github.com/DaveGamble/cJSON)下載最新版本。下面是一個簡單的使用cJSON解析JSON數據的例子:
#include "cJSON.h" #includeint main() { char* json_str = "{\"name\":\"John Yang\",\"age\":30,\"is_married\":false}"; cJSON* json = cJSON_Parse(json_str); if (json) { cJSON* name = cJSON_GetObjectItem(json, "name"); cJSON* age = cJSON_GetObjectItem(json, "age"); cJSON* is_married = cJSON_GetObjectItem(json, "is_married"); printf("Name: %s\n", name->valuestring); printf("Age: %d\n", age->valueint); printf("Married: %s\n", is_married->valueint ? "true" : "false"); cJSON_Delete(json); } else { printf("Failed to parse JSON string."); } return 0; }
在上面的例子中,我們首先定義了一個JSON字符串,并將其傳遞給cJSON_Parse()函數進行解析。cJSON_Parse()函數返回一個指向cJSON數據結構的指針,該結構表示了JSON數據的整個結構。
然后,我們可以使用cJSON_GetObjectItem()函數從JSON數據結構中獲取指定的項,這里我們獲取了名字、年齡和婚姻狀況。通過獲取到的項的valuestring或valueint成員,我們可以獲取到該項的值,并將其打印出來。
最后,使用cJSON_Delete()函數釋放cJSON數據結構的內存。