在C語言中,我們通常使用json-c庫來處理JSON格式的數據,其中涉及到處理數組的問題。JSON數組是一個可以在方括號[]內部包含多個值的簡單數據集合,每個值以逗號分隔。在使用json-c庫中,可以使用json_object_array_add()函數向數組中添加元素。
json_object *array_obj = json_object_new_array(); json_object *ele_obj = json_object_new_int(123); json_object_array_add(array_obj, ele_obj);
上述代碼表示創建一個空的JSON數組,并向其中添加一個整數類型的元素。同樣,還可以使用json_object_array_put_idx()函數以指定的索引位置插入元素。
json_object *array_obj = json_object_new_array(); json_object *ele_obj1 = json_object_new_int(123); json_object *ele_obj2 = json_object_new_int(456); json_object *ele_obj3 = json_object_new_int(789); json_object_array_put_idx(array_obj, 0, ele_obj1); json_object_array_put_idx(array_obj, 1, ele_obj2); json_object_array_put_idx(array_obj, 2, ele_obj3);
上述代碼表示創建一個包含三個元素的JSON數組,并且指定了每個元素的索引位置,注意索引位置從0開始計數。
當需要遍歷JSON數組元素時,可以使用json_object_array_length()函數獲取數組長度,并使用json_object_array_get_idx()函數獲取指定位置的元素。
json_object *array_obj = json_object_new_array(); json_object *ele_obj1 = json_object_new_int(123); json_object *ele_obj2 = json_object_new_int(456); json_object *ele_obj3 = json_object_new_int(789); json_object_array_add(array_obj, ele_obj1); json_object_array_add(array_obj, ele_obj2); json_object_array_add(array_obj, ele_obj3); int len = json_object_array_length(array_obj); for(int i = 0; i< len; i++) { json_object *ele_obj = json_object_array_get_idx(array_obj, i); printf("%d\n", json_object_get_int(ele_obj)); }
上述代碼表示創建一個包含三個元素的JSON數組,遍歷每一個元素,并將其轉換成整數類型輸出。
總之,使用json-c庫可以簡單地處理JSON數組,并且容易讀寫,是處理JSON數據的常用工具。