如果你想在C語言中創(chuàng)建一個數(shù)組類型的JSON數(shù)據(jù)庫,下面的代碼可以幫助你完成這個任務(wù)。
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <jansson.h> #define MAX_SIZE 100 int main(void) { json_t *root; json_error_t error; int arr[MAX_SIZE]; // 初始化數(shù)組中的元素 for(int i=0; i<MAX_SIZE; i++){ arr[i] = i; } // 將數(shù)組轉(zhuǎn)換為JSON格式 root = json_pack("[100i]", arr, MAX_SIZE); // 將JSON格式打印出來 char *dump_string = json_dumps(root, 0); printf("%s\n", dump_string); // 釋放內(nèi)存 json_decref(root); free(dump_string); return 0; }
上述代碼使用了jansson庫來處理JSON格式。在主函數(shù)中,我們創(chuàng)建了一個長度為100的整型數(shù)組,然后將其轉(zhuǎn)換為JSON格式,并打印輸出。
使用json_pack函數(shù)可以將一個數(shù)組打包成一個JSON數(shù)組類型的對象。這個函數(shù)的第一個參數(shù)是一個格式字符串,用于指定數(shù)組元素的類型和數(shù)量。上述代碼中,我們使用了字符串"100i"來表示有100個整型元素。第二個參數(shù)是指向數(shù)組的指針,第三個參數(shù)是數(shù)組的長度。最終得到的root變量就是一個JSON數(shù)組對象。
使用json_dumps函數(shù)可以將JSON對象轉(zhuǎn)換為字符串格式的JSON文本,方便輸出和存儲。第一個參數(shù)是要轉(zhuǎn)換的JSON對象,第二個參數(shù)指定輸出縮進(jìn)的位數(shù)。
在代碼最后,我們使用json_decref函數(shù)釋放JSON對象的內(nèi)存。