JSON 是目前流行的一種輕量級數據交換格式,它支持多種語言和平臺。在 C 語言中,如果要使用 JSON 格式的數據,就需要使用 cJSON 庫。cJSON 是一個 C 語言的 JSON 解析器和生成器,它可以很方便地將 JSON 數據轉換成 C 語言數據結構,也可以將 C 語言數據結構轉換成 JSON 數據。
在 cJSON 中,如果要將 JSON 數據寫入文件,就需要使用 cJSON_Print 函數。該函數將 cJSON 對象轉換為字符串,并將這個字符串寫入到文件中。
// 創建 cJSON 對象 cJSON *root = cJSON_CreateObject(); // 添加元素 cJSON_AddStringToObject(root, "name", "mike"); cJSON_AddNumberToObject(root, "age", 25); // 轉換為字符串 char *json_str = cJSON_Print(root); // 將字符串寫入文件 FILE *fp = fopen("test.json", "w"); fprintf(fp, "%s", json_str); fclose(fp); // 釋放 cJSON 對象 cJSON_Delete(root);
在這段代碼中,我們首先使用 cJSON_CreateObject 函數創建了一個 cJSON 對象。然后,使用 cJSON_AddStringToObject 和 cJSON_AddNumberToObject 函數向 cJSON 對象中添加了兩個元素。接下來,通過 cJSON_Print 函數將 cJSON 對象轉換為字符串。最后,將這個字符串寫入到了名為 test.json 的文件中。
需要注意的是,在使用 cJSON 庫過程中,如果要向 cJSON 對象中添加元素,必須使用 cJSON_AddStringToObject、cJSON_AddNumberToObject 或者其他的 cJSON_AddXXX 函數,不能直接修改 cJSON 對象的結構。同時,在使用 cJSON_Print 函數時需要手動釋放 cJSON 對象。