C語言中常用的JSON解析庫有很多,其中JSON-C和cJSON應該是最為常用的兩個。在使用cJSON解析JSON數據時,會涉及到JSON數組的遍歷問題。下面就來介紹一下如何用cJSON遍歷JSON數組。
//先來看一下JSON數據示例 { "array": [ { "name": "張三", "age": 18 }, { "name": "李四", "age": 20 }, { "name": "王五", "age": 22 } ] } //接下來就看一下如何使用cJSON進行遍歷 cJSON* root = cJSON_Parse(json_data); cJSON* array = cJSON_GetObjectItem(root, "array"); int array_size = cJSON_GetArraySize(array); for (int i = 0; i< array_size; i++) { cJSON* item = cJSON_GetArrayItem(array, i); cJSON* name = cJSON_GetObjectItem(item, "name"); cJSON* age = cJSON_GetObjectItem(item, "age"); printf("%s - %d\n", cJSON_GetStringValue(name), cJSON_GetIntValue(age)); } //以上代碼就可以輸出數組中每一個元素的name和age屬性值啦!
需要注意的是,使用cJSON遍歷JSON數組時,需要先獲取到數組本身的指針,然后通過cJSON_GetArraySize函數來獲取數組的大小,在循環中逐個獲取數組元素的指針,進而獲取數組元素的屬性值。這里輸出數組元素的屬性值只是一個示例,實際應用中可以根據需求進行不同的操作。