JSON(JavaScript Object Notation)是一種輕量級的數據交換格式。將C語言中的JSON對象轉化為字符串是一項常用的操作。下面是一個簡單的C語言程序,演示了如何將JSON對象轉化為字符串。
#include <stdio.h> #include <stdlib.h> #include <jansson.h> int main() { json_t *root; json_error_t error; //創建JSON對象 root = json_object(); json_object_set_new(root, "name", json_string("Tom")); json_object_set_new(root, "age", json_integer(25)); json_object_set_new(root, "city", json_string("Beijing")); //將JSON對象轉化為字符串 char *json_str = json_dumps(root, JSON_INDENT(4)); printf("%s\n", json_str); //釋放內存 free(json_str); json_decref(root); return 0; }
上述程序使用了jansson庫來操作JSON對象。首先,我們使用json_object()函數創建一個JSON對象,然后使用json_object_set_new()函數將三個鍵值對添加到JSON對象中。接下來,使用json_dumps()函數將JSON對象轉化為字符串。該函數的第一個參數為待轉化的JSON對象,第二個參數為轉化選項。JSON_INDENT表示使用縮進,4表示縮進的空格數。最后,使用printf()函數輸出轉化后的JSON字符串。
最后,我們需要釋放內存。使用free()函數釋放json_str,使用json_decref()函數釋放root。json_decref()函數會自動釋放JSON對象以及該對象下的所有子對象。