在C語言中,很多情況下需要返回多條JSON數據。而有時候又需要把它們合并成一個JSON對象返回。這時候就需要使用一些庫來解決這個問題。
其中一個庫就是jansson。jansson是一個用來解析、生成JSON數據的C庫。它可以方便地把多個JSON數據合并成一個JSON對象返回。
下面是一個使用jansson庫合并JSON數據的例子:
#include <jansson.h> int main() { json_t *root = json_object(); json_t *list1 = json_array(); json_array_append_new(list1, json_string("item1")); json_array_append_new(list1, json_string("item2")); json_object_set_new(root, "list1", list1); json_object_set_new(root, "key1", json_integer(123)); char *json_string = json_dumps(root, JSON_COMPACT); printf("%s", json_string); return 0; }
在這個例子中,我們首先創建一個空的JSON對象。然后創建一個名為“list1”的JSON數組,并向其中添加兩個字符串元素。接著,我們把“list1”和一個名為“key1”的整數JSON元素添加到根JSON對象中。
最后,我們使用json_dumps()函數把JSON對象轉化成一個字符串,并打印出來。這個字符串就包含了所有的JSON數據。
上面的例子中只有兩條JSON數據,但實際上可以包含任意多個JSON數據。只需要重復添加JSON元素到根對象中就行了。
使用jansson庫可以很方便地合并多條JSON數據并返回。但使用它也需要注意內存管理問題,需要正確釋放所有的JSON對象。