c語言是一門廣泛應用于計算機領域的高級編程語言。它是一門相對較為底層的語言,可以直接操作計算機硬件。在現代程序設計中,json已經成為了流行的數據交換格式。本文將介紹如何在c語言中讀取json文件并返回內容。
#include#include #include #include char *readJSONFile(const char *filename) { long length; char *buffer = NULL; FILE *file = fopen(filename, "rb"); if (file) { fseek(file, 0, SEEK_END); length = ftell(file); fseek(file, 0, SEEK_SET); buffer = malloc(length); if (buffer) { fread(buffer, 1, length, file); } fclose(file); } else { printf("Error reading file: %s\n", filename); } return buffer; } int main() { char *json_string = readJSONFile("example.json"); if (json_string == NULL) { printf("Error reading JSON file\n"); return 1; } cJSON *root = cJSON_Parse(json_string); if (root == NULL) { printf("Error parsing JSON string\n"); return 1; } cJSON *name = cJSON_GetObjectItem(root, "name"); cJSON *age = cJSON_GetObjectItem(root, "age"); cJSON *city = cJSON_GetObjectItem(root, "city"); printf("Name: %s\n", name->valuestring); printf("Age: %d\n", age->valueint); printf("City: %s\n", city->valuestring); cJSON_Delete(root); free(json_string); return 0; }
上述代碼示例中包含一個名為cJSON的開源庫,用于解析json字符串。其中,函數readJSONFile用于讀取json文件內容并返回指向該內容的指針。該代碼示例讀取了example.json文件,并從中解析出了name、age以及city三個字段。