在C語言的后臺開發中,使用JSON格式返回數據已經成為了很普遍的做法。而有時候需要返回多個不同類型的數據,這時我們可以使用多個數組來存儲數據,并將這些數組整合到一個大的JSON對象中返回。
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <jansson.h> int main() { json_t *root; json_error_t error; json_t *array1, *array2; int i; // 初始化數據 int data1[3] = {1, 2, 3}; char* data2[3] = {"hello", "world", "c"}; // 創建數組1 array1 = json_array(); for (i = 0; i < 3; i++) { json_array_append_new(array1, json_integer(data1[i])); } // 創建數組2 array2 = json_array(); for (i = 0; i < 3; i++) { json_array_append_new(array2, json_string(data2[i])); } // 創建JSON對象 root = json_pack("{ s:o, s:o }", "data1", array1, "data2", array2); if (!root) { fprintf(stderr, "Error creating JSON object!\n"); exit(1); } // 打印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_pack函數將數組和名稱整合到JSON對象中。最終生成的JSON對象如下:
{ "data1": [ 1, 2, 3 ], "data2": [ "hello", "world", "c" ] }
以上就是在C后臺開發中返回多個數組的方法。