在C語言中,我們經常需要將JSON字符串轉換為數組。JSON是一種輕量級的數據交換格式,幾乎所有的編程語言都支持它。在C語言中,我們可以使用第三方庫來處理JSON字符串。
#include <stdio.h> #include <jansson.h> int main() { const char* json_str = "[1, 2, 3, 4, 5]"; // 定義JSON字符串 json_error_t error; // 定義錯誤信息結構體 json_t* json_arr = json_loads(json_str, 0, &error); // 將JSON字符串轉換為JSON對象 if (!json_arr) { fprintf(stderr, "error: on line %d: %s\n", error.line, error.text); // 打印錯誤信息 return 1; } size_t array_len = json_array_size(json_arr); // 獲取JSON數組長度 for (int i = 0; i < array_len; i++) { json_t* json_elem = json_array_get(json_arr, i); // 獲取JSON數組元素 int elem_val = json_integer_value(json_elem); // 將JSON數字類型轉換為整型 printf("%d ", elem_val); } printf("\n"); json_decref(json_arr); // 釋放JSON對象內存 return 0; }
上述代碼中,我們使用了jansson庫來處理JSON字符串。可以通過json_loads函數將JSON字符串轉換為JSON對象,使用json_array_size函數獲取JSON數組長度,使用json_array_get函數獲取JSON數組元素。同時,還要注意釋放JSON對象內存,避免發生內存泄漏。
這樣,我們就可以在C語言中輕松地將JSON字符串轉換為數組了。
上一篇c json增加元素