在C語言中,我們可以使用第三方庫來實現將數據寫入JSON文件中。
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <jansson.h> int main() { // 打開JSON文件 FILE *fp = fopen("data.json", "r+"); // 如果JSON文件不存在,則創建一個新文件 if (fp == NULL) { fp = fopen("data.json", "w+"); fclose(fp); fp = fopen("data.json", "r+"); } // 載入JSON內容 fseek(fp, 0, SEEK_END); long size = ftell(fp); fseek(fp, 0, SEEK_SET); char *content = (char *)malloc(size + 1); fread(content, 1, size, fp); content[size] = '\0'; // 解析原始JSON數據 json_t *root; json_error_t error; root = json_loads(content, 0, &error); free(content); // 如果原始JSON數據為空,則創建一個新的JSON數組 if (root == NULL) { root = json_array(); } // 在JSON數組中添加新的JSON對象 json_t *new_obj = json_object(); json_object_set_new(new_obj, "name", json_string("John")); json_object_set_new(new_obj, "age", json_integer(25)); json_array_append_new(root, new_obj); // 將新的JSON數據寫入JSON文件中 content = json_dumps(root, JSON_INDENT(4)); fseek(fp, 0, SEEK_SET); fwrite(content, strlen(content), 1, fp); fclose(fp); // 釋放資源 json_decref(root); free(content); return 0; }
上述代碼中,我們使用了jansson庫來讀取和寫入JSON數據。
在主函數中,我們首先檢查是否存在指定的JSON文件。如果該文件不存在,則創建新文件并打開它。
接著,我們讀取已存在的JSON內容并解析它。
如果JSON數據為空,則創建一個新的JSON數組。
然后,我們在新的JSON數組中添加一個新的JSON對象。
最后,我們將新的JSON數據寫入JSON文件中,關閉文件并釋放分配的資源。
上一篇python 某列直方圖
下一篇vue dist運行