cjson是一個用于解析和構(gòu)建JSON格式數(shù)據(jù)的C語言庫。在JSON中,數(shù)組是由方括號 [] 包圍的一組值,各個值之間用逗號隔開。在使用cjson構(gòu)建JSON數(shù)組時,需要使用cjson庫提供的API來實現(xiàn)。
#include "cjson.h" int main() { cJSON *root, *array, *item; int i; // 創(chuàng)建JSON對象 root = cJSON_CreateObject(); // 創(chuàng)建JSON數(shù)組 array = cJSON_CreateArray(); for (i = 0; i< 3; i++) { item = cJSON_CreateNumber(i+1); // 將值添加到數(shù)組中 cJSON_AddItemToArray(array, item); } // 將數(shù)組添加到JSON對象中 cJSON_AddItemToObject(root, "my_array", array); // 生成JSON字符串 char *json = cJSON_Print(root); printf("%s\n", json); // 釋放內(nèi)存 cJSON_Delete(root); free(json); return 0; }
在上述代碼中,首先創(chuàng)建了一個cjson對象root。然后,創(chuàng)建了一個JSON數(shù)組array,并通過循環(huán)向數(shù)組中添加元素。在循環(huán)中,使用cJSON_CreateNumber函數(shù)創(chuàng)建一個包含數(shù)字的JSON元素item,并使用cJSON_AddItemToArray函數(shù)將其添加到數(shù)組中。最后,使用cJSON_AddItemToObject函數(shù)將數(shù)組添加到JSON對象中。
使用cJSON_Print函數(shù)將JSON對象轉(zhuǎn)換為字符串,并打印出來。最后,通過cJSON_Delete函數(shù)釋放內(nèi)存。
通過以上代碼,我們可以成功地構(gòu)建一個包含數(shù)字的JSON數(shù)組。