色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

c 如何從文件中提取json

張吉惟2年前8瀏覽0評論

在C語言中,我們可以使用一些第三方庫來實現從文件中提取JSON的操作,比如可以使用cJSON這個開源的庫。下面我們就來具體了解一下如何使用cJSON來實現這個操作。

// 引入頭文件
#include "cJSON.h"
// 打開文件并讀取內容
FILE* fp = fopen("example.json", "r");
fseek(fp, 0, SEEK_END);
long size = ftell(fp);
rewind(fp);
char* buffer = (char*)malloc(size);
fread(buffer, 1, size, fp);
fclose(fp);
// 解析JSON
cJSON* root = cJSON_Parse(buffer);
if (root == NULL) {
printf("Error before: [%s]\n", cJSON_GetErrorPtr());
} else {
// 讀取JSON數據
cJSON* name = cJSON_GetObjectItem(root, "name");
cJSON* age = cJSON_GetObjectItem(root, "age");
cJSON* email = cJSON_GetObjectItem(root, "email");
// 輸出JSON數據
printf("Name: %s\n", name->valuestring);
printf("Age: %d\n", age->valueint);
printf("Email: %s\n", email->valuestring);
cJSON_Delete(root);
}

在上述代碼中,我們首先通過fopen打開了文件,并將讀取到的文件內容放入buffer中。然后,我們使用cJSON_Parse解析了這個JSON數據,并通過cJSON_GetObjectItem獲取了JSON中的幾個數據項。最后,我們通過調用cJSON_Delete來釋放從JSON數據中提取出來的內存。

總而言之,使用第三方庫cJSON可以方便高效地從JSON文件中提取數據,同時也可以避免一些低級的錯誤處理工作。