在C語言中,對于JSON數據的解析和提取可以使用第三方庫 cJSON,它提供了簡單易用的API來對JSON數據進行操作。在使用cJSON庫之前,需要先下載并安裝它,具體的方法可以參考官方文檔。
//打開json文件 FILE* fp = fopen("test.json", "r"); if(fp == NULL){ printf("Error: cannot open the file.\n"); return -1; } //獲取文件長度 fseek(fp, 0, SEEK_END); int size = ftell(fp); fseek(fp, 0, SEEK_SET); //讀取文件內容 char* content = (char*)malloc(size+1); fread(content, size, 1, fp); content[size] = '\0'; //解析JSON數據 cJSON* root = cJSON_Parse(content); free(content); fclose(fp); //提取數據 cJSON* pName = cJSON_GetObjectItem(root, "name"); cJSON* pAge = cJSON_GetObjectItem(root, "age"); cJSON* pScore = cJSON_GetObjectItem(root, "score"); //輸出數據 printf("Name: %s\n", cJSON_GetStringValue(pName)); printf("Age: %d\n", pAge->valueint); printf("Score: %.2f\n", pScore->valuedouble);
代碼中首先使用fopen函數打開JSON文件,然后利用fseek函數獲取文件長度,并讀取文件內容。接著使用cJSON_Parse函數對JSON數據進行解析,返回一個cJSON結構體指針。最后使用cJSON_GetObjectItem函數提取JSON數據中指定的項,然后通過調用相應的cJSON_GetXXXValue函數獲取對應的值。
總之,使用cJSON庫可以方便快捷地對JSON數據進行解析和提取,可以大大減少手寫解析算法的時間和復雜度。
上一篇vue cli 2.0