JSON是一種輕量級的數據交換格式,而C語言是一種高效的編程語言,在開發過程中,我們常常需要使用C語言來處理JSON格式的數據。
在JSON中,數組是一種常見的數據類型,既可以作為對象的屬性值,也可以作為獨立的數據。讀取JSON數組數據的過程可以通過C語言解析JSON字符串來實現。
#include <stdio.h> #include <jansson.h> int main() { char *jsonstr = "[1, 2, 3, 4, 5]"; json_t *root; json_error_t error; root = json_loads(jsonstr, 0, &error); if (!root) { fprintf(stderr, "json error on line %d: %s\n", error.line, error.text); return 1; } if (!json_is_array(root)) { fprintf(stderr, "json error: root is not an array\n"); json_decref(root); return 1; } size_t index; json_t *value; json_array_foreach(root, index, value) { if (!json_is_number(value)) { fprintf(stderr, "json error: value at index %lu is not a number\n", index); json_decref(root); return 1; } printf("%d ", json_integer_value(value)); } json_decref(root); return 0; }
在上面的代碼中,json_loads函數用于將JSON字符串解析成json_t對象,json_is_array函數用來判斷解析出來的數據是否為數組類型,json_array_foreach函數可以幫我們遍歷數組中的每一個數據。
需要注意的是,使用jansson庫處理JSON數據時,需要先安裝jansson庫并在編譯時鏈接相應的庫文件。
下一篇vue1.0交互