在編程中,生成 JSON 格式的文本是常見的需求。而在 C 語言中,我們可以通過使用第三方庫來實現快速、方便地生成 JSON 格式的文本。
#include <stdio.h> #include <jansson.h> int main() { // 創建一個 JSON 對象 json_t *root = json_object(); // 添加一個字符串類型的鍵值對 json_object_set_new(root, "name", json_string("張三")); // 添加一個整型類型的鍵值對 json_object_set_new(root, "age", json_integer(23)); // 添加一個布爾類型的鍵值對 json_object_set_new(root, "is_student", json_true()); // 打印生成的 JSON 文本 char *json_text = json_dumps(root, JSON_INDENT(4)); printf("%s\n", json_text); // 釋放 JSON 對象和生成的文本內存 json_decref(root); free(json_text); return 0; }
上述代碼使用了 jansson 庫來創建 JSON 對象并添加鍵值對,然后通過 json_dumps 函數將 JSON 對象轉化為文本格式。
其中 json_t 類型代表 JSON 對象,json_object 函數用于創建一個空的 JSON 對象,而 json_object_set_new 函數則用于添加鍵值對。json_string 函數用于創建字符串類型的值,json_integer 函數用于創建整型類型的值,json_true 函數用于創建布爾類型的值。
json_dumps 函數用于將 JSON 對象轉化為文本格式,此函數的第二個參數用于指定縮進的空格數。最后,需要記得釋放 JSON 對象和生成的文本內存。