在C語言中,讀取JSON文件可以使用第三方庫。其中比較常用的是cJSON庫。下面是使用cJSON庫讀取JSON文件的簡單示例。
#include <stdio.h> #include <cJSON.h> int main() { FILE *file; char *content; long fileSize; file = fopen("example.json", "r"); fseek(file, 0L, SEEK_END); fileSize = ftell(file); fseek(file, 0L, SEEK_SET); content = (char *)malloc(fileSize + 1); fread(content, fileSize, 1, file); fclose(file); content[fileSize] = '\0'; cJSON *json = cJSON_Parse(content); // 解析JSON對象 cJSON *id = cJSON_GetObjectItem(json, "id"); cJSON *name = cJSON_GetObjectItem(json, "name"); cJSON *age = cJSON_GetObjectItem(json, "age"); printf("id: %d\n", id->valueint); printf("name: %s\n", name->valuestring); printf("age: %d\n", age->valueint); cJSON_Delete(json); free(content); return 0; }
首先,我們需要打開JSON文件。然后使用fseek函數獲取文件大小,并使用malloc函數動態分配內存。接著,使用fread函數將文件內容讀取到內存中。
接下來,我們使用cJSON_Parse函數將JSON字符串解析成JSON對象。然后使用cJSON_GetObjectItem函數獲取JSON對象的屬性。最后,我們使用printf函數輸出JSON對象的屬性值。
需要注意的是,在使用完json對象后,需要使用cJSON_Delete函數刪除json對象以釋放內存。