在C語言編程中,JSON作為一種常見數據格式,經常用于數據的傳遞和存儲。如果需要傳遞JSON數組,則需要使用一些特定的函數和庫來完成。下面是一個簡單的示例,展示了如何在C語言中傳遞JSON數組。
#include <stdio.h> #include <jansson.h> int main() { const char * jsonString = "[1, 2, 3, 4, 5]"; // 解析JSON字符串 json_t * json = json_loads(jsonString, 0, NULL); // 判斷是否是JSON數組 if(json_is_array(json)){ size_t size = json_array_size(json); int arr[size]; // 遍歷JSON數組 for(int i = 0 ; i < size ; i++){ // 獲取JSON數組中每個元素的值并存儲 json_t * value = json_array_get(json, i); arr[i] = json_integer_value(value); } // 輸出數組元素的值 for(int i = 0 ; i < size ; i++){ printf("%d ", arr[i]); } printf("\n"); } // 釋放JSON對象占用的內存 json_decref(json); return 0; }
以上代碼使用了jansson庫來解析JSON字符串并獲取JSON數組中的元素。其中,json_loads函數用于從JSON字符串中解析JSON對象,json_is_array函數用于判斷JSON對象是否為數組,json_array_size函數用于獲取JSON數組的大小,json_array_get函數用于獲取JSON數組中的元素,json_integer_value函數用于獲取JSON元素的整型值。最后,需要使用json_decref函數釋放JSON對象占用的內存。