C 是一種廣泛使用的編程語言,其具有高效、可移植、可擴(kuò)展等優(yōu)點(diǎn),許多應(yīng)用程序和系統(tǒng)都采用 C 語言編寫。
在 C 語言開發(fā)中,有些情況需要返回多組 Json 數(shù)據(jù),那么該如何實(shí)現(xiàn)呢?下面我們來介紹一種方法。
#include#include #include #include int main() { // 創(chuàng)建數(shù)組,保存多組 Json 數(shù)據(jù) json_t *root, *json1, *json2, *json3; root = json_array(); // 第一組 Json 數(shù)據(jù) json1 = json_pack("{s:s, s:i}", "name", "Tom", "age", 25); json_array_append_new(root, json1); // 第二組 Json 數(shù)據(jù) json2 = json_pack("{s:s, s:i}", "name", "Jack", "age", 30); json_array_append_new(root, json2); // 第三組 Json 數(shù)據(jù) json3 = json_pack("{s:s, s:i}", "name", "Lucy", "age", 28); json_array_append_new(root, json3); // 將 Json 數(shù)據(jù)轉(zhuǎn)為字符串并打印 char * output = json_dumps(root, JSON_ENCODE_ANY); printf("%s", output); // 釋放內(nèi)存 free(output); json_decref(json1); json_decref(json2); json_decref(json3); json_decref(root); return 0; }
上述代碼中,我們使用 jansson 這個 Json 庫,創(chuàng)建了一個數(shù)組 root,然后分別創(chuàng)建三個 Json 數(shù)據(jù) json1、json2、json3,并將它們添加到 root 數(shù)組中。接著,使用 json_dumps 函數(shù)將 root 數(shù)組轉(zhuǎn)為字符串,并使用 printf 函數(shù)輸出。
運(yùn)行上述代碼,輸出結(jié)果如下:
[{"name":"Tom","age":25},{"name":"Jack","age":30},{"name":"Lucy","age":28}]
可以看到,我們成功返回了三組 Json 數(shù)據(jù)。