欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

c txt讀json數據文件

謝彥文2年前8瀏覽0評論

今天我們來探討一下C語言如何讀取JSON數據文件。JSON是一種輕量級的數據交換格式,具有可讀性高、易于理解、易于編寫和解析、靈活性好等特點,所以在現代網絡應用中極為常見。很多時候我們需要在C語言中讀取JSON數據文件并對數據進行處理,那么要如何實現呢?

#include#include#include#includeint main()
{
FILE *fp;
char buf[1024];
cJSON *json;
fp = fopen("data.json", "r");
fread(buf, 1, 1024, fp);
fclose(fp);
json = cJSON_Parse(buf);
if (!json)
{
printf("Error before: [%s]\n", cJSON_GetErrorPtr());
return 1;
}
cJSON *item = cJSON_GetObjectItem(json, "name");
printf("name: %s\n", item->valuestring);
cJSON *array = cJSON_GetObjectItem(json, "tags");
int array_size = cJSON_GetArraySize(array);
for (int i = 0; i< array_size; i++)
{
cJSON *tag = cJSON_GetArrayItem(array, i);
printf("tag%d: %s\n", i, tag->valuestring);
}
cJSON_Delete(json);
return 0;
}

上面的代碼通過使用cJSON庫來解析JSON文件,并且打印了JSON文件中的name和tags數組。首先打開文件,使用fread來讀取文件內容,然后調用cJSON_Parse解析JSON字符串并返回一個json對象。如果解析失敗,則可以通過調用cJSON_GetErrorPtr()來獲取錯誤信息并打印。我們可以通過使用cJSON_GetObjectItem和cJSON_GetArrayItem來獲取JSON對象中的屬性值,需要注意的是這些函數返回的都是cJSON對象。

這里我們使用了cJSON對象的valuestring屬性來獲得屬性值并打印出來,當然還有其他的屬性類型可以參考cJSON的文檔。最后別忘了刪除json對象以免內存泄漏。