JSON(JavaScript Object Notation)是一種輕量級的數據交換格式,以易于人閱讀和編寫的方式呈現數據。C語言中也有很多json庫,比如cJSON、jansson等。
#include#include #include #include "cJSON.h" int main() { char *json_string = "{\"name\":\"Tom\",\"age\":23,\"gender\":\"male\"}"; cJSON *json = cJSON_Parse(json_string); if (json == NULL) { printf("Error before: [%s]\n", cJSON_GetErrorPtr()); } else { cJSON *name = cJSON_GetObjectItem(json, "name"); cJSON *age = cJSON_GetObjectItem(json, "age"); cJSON *gender = cJSON_GetObjectItem(json, "gender"); printf("name:%s\n", name->valuestring); printf("age:%d\n", age->valueint); printf("gender:%s\n", gender->valuestring); } cJSON_Delete(json); return 0; }
上面的代碼使用cJSON庫解析JSON字符串并輸出其內容。首先,定義一個JSON字符串,并使用cJSON_Parse函數將其解析為一個cJSON對象。如果解析失敗,會輸出錯誤信息。否則,我們就可以使用cJSON_GetObjectItem函數逐一獲取該對象中的值,并輸出到控制臺。最后,不要忘記使用cJSON_Delete函數釋放該對象的內存。
cJSON還提供了許多函數用于生成JSON字符串、修改JSON對象、遍歷JSON對象等,具體請參考其官方文檔。