JSON(JavaScript Object Notation)是一種輕量級數據交換格式,常用于web開發中。而C語言作為高性能的編程語言,也具備讀取和解析JSON格式數據的能力。下面我們將介紹如何使用C語言讀取JSON文件并返回字符串。
#include <stdio.h> #include <jansson.h> char* readJsonFile(const char* filename) { char* result = NULL; FILE* fp = fopen(filename, "r"); if (fp != NULL) { fseek(fp, 0, SEEK_END); int length = ftell(fp); fseek(fp, 0, SEEK_SET); char* buffer = (char*)malloc(length+1); if (buffer != NULL) { fread(buffer, 1, length, fp); buffer[length] = '\0'; result = buffer; } fclose(fp); } return result; } int main() { char* jsonStr = readJsonFile("test.json"); // test.json 是 JSON 文件 json_t* root; json_error_t error; root = json_loads(jsonStr, 0, &error); // 讀取 JSON 字符串 if (!root) { fprintf(stderr, "error: on line %d: %s\n", error.line, error.text); return 1; } char* result = json_dumps(root, JSON_INDENT(4)); // 轉換為 JSON 字符串 printf("%s\n", result); free(jsonStr); free(result); json_decref(root); return 0; }
首先需在程序中包含 JSON-C 庫頭文件。然后定義一個 readJsonFile函數,該函數接收一個文件名稱作為參數,并在打開該文件后將文件中的內容讀取到一個字符串中并返回。返回的字符串即為 JSON 格式的數據。接著在主函數中調用 readJsonFile函數讀取 JSON 文件,并使用 json_loads函數將 JSON 字符串轉換為 JSON 對象。若轉換失敗則向標準錯誤輸出提示錯誤信息。緊接著使用 json_dumps函數將 JSON 對象轉換為帶縮進的 JSON 字符串并輸出。最后需要釋放內存,清除資源。
上一篇c讀取本地json文件
下一篇vue 鏈接跳轉界面