在C語言中,json格式的數(shù)據(jù)可以通過解析的方式來進行相應(yīng)的處理。而為了將處理后的數(shù)據(jù)進行保存,json文件的格式是最為常見的方式。接下來,我們將介紹如何在C語言中將json數(shù)據(jù)保存成json文件。
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <jansson.h> int main(int argc, char **argv) { json_t *json; json_error_t error; /* 創(chuàng)建一個 JSON 對象 */ json = json_pack("{s:s, s:i}", "name", "張三", "age", 18); /* 將 JSON 對象保存到文件中 */ if (json_dump_file(json, "data.json", JSON_INDENT(4)) == -1) { fprintf(stderr, "保存文件失敗: %s\n", error.text); exit(1); } /* 釋放資源 */ json_decref(json); return 0; }
在上述代碼中,我們通過使用json_pack
函數(shù)創(chuàng)建了一個 JSON 對象,這個對象包含了兩個屬性:姓名和年齡。接下來,我們使用json_dump_file
函數(shù)將這個 JSON 對象保存成了一個名為data.json的文件,并指定了一個JSON_INDENT(4)
的參數(shù),表示縮進為4個空格。最后,我們使用json_decref
函數(shù)釋放了分配的內(nèi)存。
上述代碼中用到的函數(shù)和常量都來自于jansson.h
頭文件,這是一種開源的C語言JSON解析器和生成器,旨在提供一種高效、簡約、兼容性和可擴展性的json解析和生成實現(xiàn)。使用這個庫,我們可以方便地處理JSON格式的數(shù)據(jù),包括讀取、解析和生成。