在C語言中解析JSON數組可以使用json-c庫,該庫比較輕量級,容易掌握。首先需要下載并安裝json-c庫,安裝方法可以通過官方文檔進行參照。
#include <stdio.h> #include <json-c/json.h> int main() { //JSON數組數據 char* arrayStr = "[1, 2, 3, 4, 5]"; //將JSON字符串解析為JSON數據結構 struct json_object* jsonObj = json_tokener_parse(arrayStr); //檢查是否解析成功 if (jsonObj == NULL) { printf("解析JSON數據失敗\n"); return -1; } //將JSON數據結構轉換為JSON數組 enum json_type type = json_object_get_type(jsonObj); if (type != json_type_array) { printf("JSON數據不是數組\n"); return -1; } //遍歷JSON數組,輸出數據 int arrayLen = json_object_array_length(jsonObj); for (int i = 0; i < arrayLen; i++) { struct json_object* element = json_object_array_get_idx(jsonObj, i); printf("第%d個元素是%d\n", (i + 1), json_object_get_int(element)); } return 0; }
在上述代碼中,我們使用了json_tokener_parse函數將JSON字符串解析為JSON數據結構,然后使用json_object_get_type函數判斷JSON數據類型是否為數組類型,最后通過json_object_array_length函數獲取數組長度,使用json_object_array_get_idx函數獲取數組元素值。當然還可以使用其他json-c庫提供的函數進行更多操作。
總的來說,使用json-c庫解析JSON數組是一項比較簡單的任務。但在使用過程中需要注意一些細節,例如JSON字符串格式問題或者出現異常情況等等,這些問題會對解析結果產生影響,需要開發者進行細致的調試。