C語言是一種廣泛使用的編程語言,它在處理數據方面非常靈活。其中,JSON數組解析也是一項常見的任務。
在C語言中,我們通常采用以下的代碼來解析一個JSON數組:
#include <stdio.h> #include <jansson.h> int main () { // 假設要解析的JSON數組為 [1,2,3,4,5] const char *json_str = "[1,2,3,4,5]"; json_error_t error; json_t *root = json_loads(json_str, 0, &error); if (!root) { printf("error: on line %d: %s\n", error.line, error.text); return 1; } size_t i; json_t *value; json_array_foreach(root, i, value) { printf("value[%d] = %d\n", i, json_integer_value(value)); } return 0; }
以上代碼中,首先聲明了一個JSON串:“[1,2,3,4,5]”并將它賦值給了一個指針變量json_str。
然后,我們使用json_loads()函數從JSON串中加載JSON,得到了一個json_t類型的數據結構的根節點root。
如果json_loads()函數無法成功加載JSON,那么它會返回NULL,并且輸出一個錯誤信息,并提示錯誤出現的行數。
接著,我們使用json_array_foreach()函數來遍歷JSON數組中的每一個元素。
在循環中,我們使用json_integer_value()函數將JSON中的整數值轉換成C語言的整數,并將其輸出。
最后,我們在main()函數的末尾返回0,表示程序正常結束。
總的來說,C語言的JSON數組解析非常簡單和高效,而且可以很好地應用于各種類型的應用程序中。