C語言在處理JSON格式數據時需要用到JSON解析器。解析器能夠把JSON數據轉換為C語言的數據結構,便于進行數據的讀取和操作。
//例子: 從json文件中讀取數據 #include <stdio.h> #include <stdlib.h> #include <cJSON.h> int main() { //讀取JSON文件中的數據 FILE *fp = fopen("data.json", "r"); if(!fp) { printf("Could not open file data.json\n"); return -1; } char buf[1024]; int len; if((len = fread(buf, 1, 1024, fp)) <= 0) { printf("Could not read file data.json\n"); return -1; } fclose(fp); //解析JSON數據 cJSON *root = cJSON_Parse(buf); if(!root) { printf("JSON Parse error before: [%s]\n", cJSON_GetErrorPtr()); return -1; } //獲取JSON對象中的數據 cJSON *name = cJSON_GetObjectItem(root, "name"); cJSON *age = cJSON_GetObjectItem(root, "age"); if(!name || !age) { printf("JSON data not found\n"); return -1; } printf("Name: %s, Age: %d\n", name->valuestring, age->valueint); //釋放JSON對象 cJSON_Delete(root); return 0; }
通過以上代碼,我們可以讀取JSON文件中的數據,并通過cJSON庫解析出其中的對象,進而進行讀取或寫入操作。