C語言作為一個通用性編程語言,被廣泛應用于各種領域。在前后端數據傳遞的過程中,JSON作為一種常見的數據格式被用于數據的序列化和反序列化。那么,如何使用C語言生成JSON文件呢?
C語言中有很多第三方JSON庫,比如cJSON、json-c等。這里以cJSON庫為例,來演示如何生成JSON文件。
#include <stdio.h> #include <cJSON.h> int main() { // 設置JSON對象 cJSON* root = cJSON_CreateObject(); // 添加鍵值對 cJSON_AddStringToObject(root, "name", "Tom"); cJSON_AddNumberToObject(root, "age", 18); // 插入JSON數組 cJSON* array = cJSON_CreateArray(); cJSON_AddItemToArray(array, cJSON_CreateString("basketball")); cJSON_AddItemToArray(array, cJSON_CreateString("football")); cJSON_AddItemToObject(root, "hobby", array); // 生成并打印JSON字符串 char* jsonStr = cJSON_PrintUnformatted(root); printf("%s\n", jsonStr); // 生成JSON文件 FILE* fp = fopen("test.json", "w"); fprintf(fp, "%s", jsonStr); fclose(fp); // 釋放內存 cJSON_Delete(root); free(jsonStr); return 0; }
在該代碼示例中,我們首先創建了一個JSON對象root,并通過cJSON_AddStringToObject和cJSON_AddNumberToObject添加了相應的鍵值對。然后,我們又新建了一個JSON數組,并通過cJSON_AddItemToArray將其插入JSON對象中。接著,使用cJSON_PrintUnformatted函數將JSON對象轉化為字符串,并通過printf函數打印出來。最后,通過fopen、fprintf、fclose函數將該字符串生成為名為test.json的JSON文件。
當然,我們還需要在編譯時鏈接cJSON庫。具體可以參見相關的使用說明文檔。
下一篇c 爬蟲 json