在現(xiàn)代編程中,JSON(JavaScript Object Notation)文件已成為一種常見(jiàn)的數(shù)據(jù)交換格式。C語(yǔ)言作為一門(mén)重要的編程語(yǔ)言,在處理JSON文件時(shí)也變得越來(lái)越重要。
下面是一個(gè)簡(jiǎn)單的例子,展示了如何使用C語(yǔ)言從JSON文件中提取數(shù)據(jù):
#include#include #include #include "cJSON.h" int main() { // 打開(kāi)JSON文件 FILE* fp = fopen("test.json", "r"); if (!fp) { printf("Could not open file.\n"); return 1; } // 讀取文件內(nèi)容 char buffer[2048]; size_t len = fread(buffer, 1, 2048, fp); fclose(fp); // 生成JSON對(duì)象 cJSON* root = cJSON_Parse(buffer); if (!root) { printf("Could not parse JSON.\n"); return 1; } // 提取數(shù)據(jù) cJSON* id = cJSON_GetObjectItem(root, "id"); cJSON* name = cJSON_GetObjectItem(root, "name"); cJSON* age = cJSON_GetObjectItem(root, "age"); // 打印結(jié)果 printf("ID: %d\n", id->valueint); printf("Name: %s\n", name->valuestring); printf("Age: %d\n", age->valueint); // 釋放內(nèi)存 cJSON_Delete(root); return 0; }
上面的代碼首先使用fopen()函數(shù)打開(kāi)JSON文件,然后使用fread()函數(shù)將其內(nèi)容讀取到一個(gè)緩沖區(qū)中。接著,使用cJSON_Parse()函數(shù)將緩沖區(qū)中的內(nèi)容解析為一個(gè)JSON對(duì)象。使用cJSON_GetObjectItem()函數(shù)提取JSON對(duì)象中的數(shù)據(jù),并將其打印出來(lái)。最后,使用cJSON_Delete()函數(shù)釋放內(nèi)存。
注意,在上面的代碼中需要包含頭文件