在C語言中,使用JSON對象數組是非常方便的。但是在某些情況下,可能需要增加JSONObject到一個已有數組中。下面是一個示例代碼:
//需要包含json-c庫 #includeint main(){ struct json_object *newObj; struct json_object *array; // 創建一個新的JSON對象數組 array = json_object_new_array(); int i; for(i = 0; i< 3; i++){ // 創建一個新的JSON對象 newObj= json_object_new_object(); // 向該對象添加新的鍵值對 json_object_object_add(newObj, "key", json_object_new_int(123)); // 將該對象添加到JSON對象數組中 json_object_array_add(array, newObj); } // 現在數組中有三個對象了 printf("數組中有 %d 個對象 \n", json_object_array_length(array)); // 創建一個新的JSON對象 newObj= json_object_new_object(); // 向該對象添加新的鍵值對 json_object_object_add(newObj, "key", json_object_new_int(456)); // 添加新的對象到JSON對象數組中 json_object_array_add(array, newObj); // 現在數組中有四個對象了 printf("數組中有 %d 個對象 \n", json_object_array_length(array)); json_object_put(array); return 0; }
在上面的示例代碼中,我們首先創建了一個空的JSON對象數組,并使用一個for循環向其中添加了三個新的JSON對象,每個對象都有一個key鍵和一個值為123的整數。然后,我們創建了一個新的JSON對象,并將其添加到數組中。
在這種情況下,我們使用json_object_array_add函數將新的JSON對象添加到數組中。該函數將確保新的JSON對象僅預先分配的數組容量內,同時可以支持超過預先分配的容量。
最后,我們可以使用json_object_array_length函數計算數組中JSON對象的數量。