在C語言中,有時候需要將一個對象轉換成JSON格式的字符串,方便傳輸和存儲。以下介紹如何利用第三方庫進行該操作。
#include <jansson.h> int main() { json_t *json; json_error_t error; const char *json_str; // 創建一個JSON對象 json = json_pack("{s:s, s:i, s:b}", "name", "Tom", "age", 20, "married", false); // 將JSON對象轉換成字符串 json_str = json_dumps(json, JSON_COMPACT); printf("%s\n", json_str); // 釋放JSON對象 json_decref(json); // 釋放字符串 free((void*)json_str); return 0; }
以上代碼使用了jansson庫,該庫提供了一系列函數操作JSON對象。首先需要創建一個JSON對象,通過json_pack函數傳入需要轉換的鍵值對,可以支持字符串、整數和布爾類型。然后通過json_dumps函數將JSON對象轉換成字符串。其中第二個參數JSON_COMPACT表示輸出的字符串使用緊湊格式,也可以選擇JSON_INDENT(n)表示輸出的字符串使用縮進格式并指定縮進的空格數。最后需要釋放JSON對象和字符串,以避免內存泄漏。