C語言可以通過使用標準庫中的函數來打開和讀取JSON文件。JSON文件是一種輕量級的數據交換格式,它以可讀性較高的文本格式存儲數據。
#include#include int main() { FILE *fp; char buffer[1024]; // 打開JSON文件 fp = fopen("data.json", "r"); // 檢查文件是否打開成功 if (fp == NULL) { printf("Failed to open file\n"); return -1; } // 讀取JSON文件內容 while (fgets(buffer, 1024, fp)) { printf("%s", buffer); } // 關閉文件 fclose(fp); return 0; }
代碼中使用fopen函數以只讀方式打開JSON文件,如果文件打開失敗則會返回NULL。使用fgets函數逐行讀取文件內容并輸出到控制臺。最后使用fclose函數關閉文件。
如果需要將讀取到的JSON數據解析成具體的數據類型,可以使用開源的JSON解析庫,如cJSON。
#include#include #include "cJSON.h" int main() { FILE *fp; char buffer[1024]; cJSON *json; // 打開JSON文件 fp = fopen("data.json", "r"); // 檢查文件是否打開成功 if (fp == NULL) { printf("Failed to open file\n"); return -1; } // 讀取JSON文件內容 while (fgets(buffer, 1024, fp)) { // 解析JSON數據 json = cJSON_Parse(buffer); // 檢查是否解析成功 if (json == NULL) { const char *error_ptr = cJSON_GetErrorPtr(); if (error_ptr != NULL) { fprintf(stderr, "Error before: %s\n", error_ptr); } cJSON_Delete(json); fclose(fp); return -1; } // 對解析后的JSON數據進行操作 // 釋放內存 cJSON_Delete(json); } // 關閉文件 fclose(fp); return 0; }
代碼中使用cJSON_Parse函數將讀取到的字符串解析成cJSON數據結構,然后可以對解析后的JSON數據進行操作,最后使用cJSON_Delete函數釋放內存。
上一篇python 餅圖參數
下一篇html怎么設置兩端對齊