C語言中,使用JSON格式的數(shù)據(jù)時,需要遍歷JSON數(shù)組中的數(shù)據(jù)。下面我們就來介紹一下如何使用C語言遍歷JSON數(shù)組。
#include <stdio.h> #include <jansson.h> int main() { const char *json_str = "[1, 2, 3, 4, 5]"; /* * 解析JSON數(shù)據(jù),得到j(luò)son_t對象 */ json_t *json = json_loads(json_str, 0, NULL); /* * 定義一個JSON數(shù)組對象,遍歷數(shù)組 */ size_t index; json_t *value; json_array_foreach(json, index, value) { printf(" %d", json_integer_value(value)); } printf("\n"); json_decref(json); return 0; }
上述代碼中,我們使用了libjansson庫來解析JSON數(shù)據(jù),并使用json_t對象來表示JSON的數(shù)據(jù)類型。我們首先通過json_loads函數(shù)解析JSON字符串,得到一個json_t對象。接下來,我們通過json_array_foreach函數(shù)來遍歷JSON數(shù)組,并輸出每一個數(shù)組元素的值。
遍歷JSON數(shù)組的過程中,我們首先定義了兩個變量:index和value。其中index表示數(shù)組元素的下標,value表示當前遍歷到的元素。
最后,在輸出完數(shù)組元素后,我們通過json_decref函數(shù)來釋放JSON對象所占用的內(nèi)存。