在c語言中,我們常常需要讀取和解析json格式的數據。而循環讀取json內容則是其中一個常見的需求。下面我們就來介紹一下如何通過c語言的循環機制來讀取json內容。
// 首先需要加載相應的json庫 #include <stdio.h> #include <jansson.h> int main() { // 聲明一個json對象和解析器 json_t *root; json_error_t error; // 讀取json內容 root = json_load_file("test.json", 0, &error); if(!root) { printf("加載json數據出錯: %s\n", error.text); return 1; } // 循環讀取json內容 json_t *data; // 存放數據的json對象 size_t index; // 存放當前循環的索引 json_array_foreach(root, index, data) { // 處理數據 const char *name = json_string_value(json_object_get(data, "name")); int age = json_integer_value(json_object_get(data, "age")); printf("Name: %s, Age: %d\n", name, age); } // 釋放json對象 json_decref(root); return 0; }
上述代碼中,我們先使用json_load_file()函數加載了一個json文件,如果加載失敗,則會輸出相應的錯誤信息。在獲取數據之后,我們使用json_array_foreach()函數循環遍歷了json數組中的每個數據,并使用json_string_value()和json_integer_value()函數獲取了相應的數據。最后,我們使用json_decref()函數釋放了json對象。