在使用C語言處理JSON數據時,遍歷數組是非常常見的操作。本文將介紹如何使用C JSON庫遍歷JSON數組。
首先,我們需要使用C JSON庫解析JSON數據。這里我們使用常用的json-c庫來實現。
#include <stdio.h> #include <json-c/json.h> int main() { const char* json_str = "{\"name\": \"Tom\", \"age\": 18, \"scores\": [90, 85, 95]}"; struct json_object* json = json_tokener_parse(json_str); // 遍歷scores數組 struct json_object* scores; json_object_object_get_ex(json, "scores", &scores); int scores_len = json_object_array_length(scores); for(int i = 0; i< scores_len; i++) { struct json_object* score = json_object_array_get_idx(scores, i); printf("score%d: %d\n", i+1, json_object_get_int(score)); } json_object_put(json); return 0; }
上面的代碼將JSON字符串解析為json-c庫的json_object對象,然后使用json_object_object_get_ex函數獲取scores數組,使用json_object_array_length函數獲取數組長度,遍歷數組中的每個元素,使用json_object_array_get_idx函數獲取每個元素的值。
需要注意的是,在使用完json_object對象后,需要使用json_object_put函數釋放資源。