在 C 語言程序開發中,有時需要將 JSON(JavaScript Object Notation)數據轉換成字符串的形式保存到文件或網絡傳輸。這時候,就需要用到 C 語言中的 JSON 庫來完成這個任務。
下面是將 JSON 轉換為字符串的 C 語言代碼:
#include <stdio.h> #include <stdlib.h> #include <jansson.h> int main(void) { //創建一個json對象 json_t *root = json_object(); json_object_set_new(root, "name", json_string("Tom")); json_object_set_new(root, "age", json_integer(18)); json_t *hobby = json_array(); json_array_append_new(hobby, json_string("reading")); json_array_append_new(hobby, json_string("swimming")); json_object_set_new(root, "hobby", hobby); //將json對象轉換成字符串 char *json_str = json_dumps(root, JSON_INDENT(4)); //輸出字符串 printf("JSON String:\n %s\n", json_str); //釋放內存 free(json_str); json_decref(root); return 0; }
這個示例程序中,我們首先創建了一個 JSON 對象,包含 name、age 和 hobby 三個屬性。然后調用 json_dumps 函數將 JSON 對象轉換成字符串,并通過 printf 函數輸出。
在輸出 JSON 字符串之前,我們還使用了 JSON_INDENT 宏來設置字符串縮進。
最后,我們還需要釋放內存。對于創建 JSON 對象,我們可以使用 json_decref 函數來釋放它。而對于轉換后的 JSON 字符串,則可以使用 free 函數來釋放。