在使用C語言處理JSON格式數據時,我們經常需要遍歷JSON數組,這就需要使用C標簽來操作。
#include <stdio.h> #include <jansson.h> int main() { const char *jsonstr = "[1, 2, 3]"; // JSON格式數據 json_t *root; json_error_t error; root = json_loads(jsonstr, 0, &error); // 載入JSON數據 if (!root) { fprintf(stderr, "JSON解析錯誤:%s\n", error.text); return 1; } // 判斷JSON是否為數組 if (!json_is_array(root)) { fprintf(stderr, "JSON不是數組\n"); json_decref(root); return 1; } // 遍歷JSON數組并輸出 size_t index; json_t *value; json_array_foreach(root, index, value) { printf("數組元素%d:%d\n", index, json_integer_value(value)); } json_decref(root); // 釋放JSON對象 return 0; }
在上面的代碼中,我們首先使用json_loads函數將JSON格式的字符串載入C程序中。然后使用json_is_array函數判斷JSON是否為數組,如果不是則輸出錯誤信息并返回1。
接下來就是遍歷JSON數組并輸出數組元素的過程了,我們使用了json_array_foreach函數來遍歷JSON數組,該函數每次將數組元素的值傳遞給回調函數處理。回調函數中使用json_integer_value函數來獲取數組元素的值并輸出。
最后,我們使用json_decref函數釋放掉載入C程序中的JSON對象。
上一篇vue 組件 定義變量
下一篇c#json轉換對象