c json數(shù)據(jù)刪除是指刪除JSON對(duì)象或者JSON數(shù)組中的某個(gè)元素。在C語(yǔ)言中,我們可以通過(guò)調(diào)用相應(yīng)的函數(shù)來(lái)進(jìn)行刪除操作。
對(duì)于JSON數(shù)組,我們可以使用json_array_remove()函數(shù)來(lái)刪除指定索引位置的元素,示例如下:
// 創(chuàng)建一個(gè)JSON數(shù)組 json_t *array = json_array(); json_t *item1 = json_integer(1); json_t *item2 = json_integer(2); json_t *item3 = json_integer(3); json_array_append_new(array, item1); json_array_append_new(array, item2); json_array_append_new(array, item3); // 刪除第二個(gè)元素 json_array_remove(array, 1);
對(duì)于JSON對(duì)象,我們可以使用json_object_del()函數(shù)來(lái)刪除指定key的鍵值對(duì),示例如下:
// 創(chuàng)建一個(gè)JSON對(duì)象 json_t *obj = json_object(); json_t *value1 = json_integer(1); json_t *value2 = json_integer(2); json_t *value3 = json_integer(3); json_object_set_new(obj, "key1", value1); json_object_set_new(obj, "key2", value2); json_object_set_new(obj, "key3", value3); // 刪除key2 json_object_del(obj, "key2");
需要注意的是,刪除JSON對(duì)象或者JSON數(shù)組中的元素并不會(huì)釋放其占用的內(nèi)存,需要調(diào)用相應(yīng)的函數(shù)來(lái)進(jìn)行內(nèi)存釋放。