C語(yǔ)言是一種廣泛應(yīng)用于系統(tǒng)編程和嵌入式開發(fā)領(lǐng)域的語(yǔ)言。在開發(fā)過程中,有時(shí)需要將C程序中生成的數(shù)據(jù)以json格式保存到文件中。這時(shí),需要使用C語(yǔ)言提供的json庫(kù)進(jìn)行操作。下面是一份示例代碼,演示了如何將數(shù)據(jù)寫入json文件。
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <jansson.h> int main() { // 創(chuàng)建JSON對(duì)象 json_t *root = json_object(); json_object_set_new(root, "Name", json_string("Tom")); json_object_set_new(root, "Age", json_integer(20)); // 創(chuàng)建JSON數(shù)組并添加元素 json_t *array = json_array(); json_array_append_new(array, json_string("math")); json_array_append_new(array, json_string("english")); json_object_set_new(root, "Courses", array); // 寫入JSON文件 FILE *fp; fp = fopen("data.json", "wb"); json_dumpf(root, fp, JSON_INDENT(4)); fclose(fp); // 釋放內(nèi)存 json_decref(root); return 0; }
在這段代碼中,我們使用了jansson庫(kù)中的json_t和 json_object_set_new函數(shù)創(chuàng)建了json對(duì)象,并使用json_array和json_array_append_new函數(shù)創(chuàng)建了json數(shù)組。然后通過調(diào)用json_dumpf函數(shù)將json數(shù)據(jù)以格式化的形式寫入文件中。最后使用json_decref函數(shù)釋放內(nèi)存。