JSON是目前廣泛使用的數據交換格式,它主要由簡單的鍵值對和數組組成。C語言中有很多第三方的庫可以用來解析JSON,比如jansson、cJSON等庫。本文將介紹cJSON庫的使用,來讀取JSON文件中的數據。
在使用cJSON庫之前,需要先將該庫添加到我們的項目中。我們可以從以下網站下載最新版本的cJSON庫:https://github.com/DaveGamble/cJSON
獲取cJSON庫后,我們需要將其源代碼文件拷貝到我們的項目目錄,并在文件中包含頭文件
#include <stdio.h> #include <stdlib.h> #include <cJSON.h> int main(int argc, char *argv[]) { char *filename = "data.json"; // JSON數據文件名 FILE *fp = fopen(filename, "r"); // 打開JSON數據文件 if (fp == NULL) { printf("打開文件失敗"); return -1; } fseek(fp, 0, SEEK_END); long size = ftell(fp); fseek(fp, 0, SEEK_SET); char *jsonStr = (char *) malloc(size + 1); fread(jsonStr, 1, size, fp); jsonStr[size] = '\0'; fclose(fp); cJSON *root = cJSON_Parse(jsonStr); cJSON *name = cJSON_GetObjectItem(root, "name"); printf("用戶名:%s\n", cJSON_Print(name)); cJSON *age = cJSON_GetObjectItem(root, "age"); printf("年齡:%d\n", cJSON_GetNumberValue(age)); cJSON_Delete(root); free(jsonStr); return 0; }
上述代碼中,我們首先打開了一個JSON數據文件并讀取其中的內容。接著將讀取到的JSON數據字符串轉換為cJSON對象,然后利用cJSON_GetObjectItem函數來獲取JSON對象中的鍵值對。最后,我們可以通過printf函數將解析到的數據輸出顯示。
以上就是使用cJSON庫讀取JSON文件的方法,希望能對您有所幫助。
上一篇mysql刪除某一列語句
下一篇vue cli卡住