在C語(yǔ)言中,我們可以使用CJSON庫(kù)來(lái)創(chuàng)建JSON對(duì)象數(shù)組。
#include "cJSON.h" #include <stdio.h> int main() { cJSON *root = cJSON_CreateObject(); // 創(chuàng)建JSON對(duì)象數(shù)組root cJSON *array = cJSON_CreateArray(); // 創(chuàng)建數(shù)組對(duì)象array cJSON_AddItemToObject(root, "array", array); // 將數(shù)組對(duì)象添加到JSON對(duì)象數(shù)組root中 cJSON *item1 = cJSON_CreateObject(); // 創(chuàng)建數(shù)組中的第一個(gè)元素 cJSON_AddStringToObject(item1, "name", "小明"); cJSON_AddNumberToObject(item1, "age", 18); cJSON_AddItemToArray(array, item1); // 將元素添加到數(shù)組對(duì)象array中 cJSON *item2 = cJSON_CreateObject(); // 創(chuàng)建數(shù)組中的第二個(gè)元素 cJSON_AddStringToObject(item2, "name", "小紅"); cJSON_AddNumberToObject(item2, "age", 20); cJSON_AddItemToArray(array, item2); // 將元素添加到數(shù)組對(duì)象array中 char *json = cJSON_Print(root); // 將JSON對(duì)象數(shù)組轉(zhuǎn)化成字符串形式 printf("%s\n", json); // 輸出JSON字符串 free(json); // 釋放內(nèi)存 cJSON_Delete(root); // 釋放root下的所有元素 return 0; }
以上代碼中,我們首先創(chuàng)建了一個(gè)名為root的JSON對(duì)象數(shù)組,然后在其中創(chuàng)建了一個(gè)名為array的數(shù)組對(duì)象。
接下來(lái),我們創(chuàng)建了兩個(gè)名為item1和item2的JSON對(duì)象,分別代表數(shù)組中的第一個(gè)元素和第二個(gè)元素,并向這兩個(gè)元素中添加了不同的鍵值對(duì)信息。
我們使用cJSON_AddItemToArray函數(shù)將item1和item2添加到array中。
最后,我們使用cJSON_Print函數(shù)將root轉(zhuǎn)化成字符串形式,并通過(guò)printf函數(shù)輸出字符串。
需要注意的是,在使用完JSON對(duì)象數(shù)組后,我們需要及時(shí)釋放內(nèi)存。可以使用cJSON_Delete函數(shù)來(lái)釋放root下的所有元素。