C List是一種常用的數據結構,它可以方便地存儲和操作一系列數據。而JSON對象則是一種輕量級的數據交換格式,適用于前后端數據傳輸,也常用于配置文件等場景。本文將介紹如何將C List轉換為JSON對象。
首先,我們需要包含頭文件“jansson.h”,以便使用Jansson庫提供的JSON操作函數。接著,我們可以定義一個C List并填充其中的數據。下面是一個例子:
#include <jansson.h> int main(){ json_t *root = json_array(); //創建一個空的JSON數組 json_t *value; //定義一個JSON值 char *str = "hello world"; //定義一個字符串 /*向JSON數組中添加數據*/ value = json_pack("{s:i}", "num", 123); json_array_append(root, value); value = json_pack("{s:b}", "flag", 1); json_array_append(root, value); value = json_pack("{s:s}", "str", str); json_array_append(root, value); /*輸出JSON對象*/ char *text = json_dumps(root, JSON_INDENT(4)); printf("%s\n", text); free(text); /*釋放內存*/ json_decref(root); return 0; }
在這個例子中,我們創建了一個空的JSON數組,并向其中添加了三個JSON對象。其中,第一個JSON對象中包含一個數字鍵值對,第二個JSON對象中包含一個布爾鍵值對,第三個JSON對象中包含一個字符串鍵值對。最后,我們使用json_dumps函數將JSON對象轉換為文本格式,并輸出到控制臺。