C語言中通過使用JSON解析庫,可以很方便地對JSON數(shù)據(jù)進(jìn)行遍歷,以下是常用的遍歷方法:
// 定義JSON對象 cJSON *json; // 遍歷JSON數(shù)組 cJSON *element; for (int i = 0; i< cJSON_GetArraySize(json); i++) { element = cJSON_GetArrayItem(json, i); // TODO: 操作數(shù)組元素 } // 遍歷JSON對象 cJSON *item; cJSON_ArrayForEach(item, json) { // TODO: 操作對象元素 }
如上所述,遍歷JSON數(shù)組時(shí)需要使用循環(huán)結(jié)構(gòu),每一次循環(huán)通過cJSON_GetArrayItem函數(shù)獲取當(dāng)前元素的指針,然后進(jìn)行操作。而遍歷JSON對象時(shí)則可以使用宏cJSON_ArrayForEach,直接獲取每個(gè)對象元素的指針進(jìn)行操作。在操作時(shí),可以使用cJSON_GetObjectItem函數(shù)根據(jù)鍵名獲取對象中的成員值。以下是示例代碼:
// 假設(shè)JSON數(shù)據(jù)為{"name":"小明","age":18} cJSON *name = cJSON_GetObjectItem(json, "name"); cJSON *age = cJSON_GetObjectItem(json, "age"); printf("姓名:%s,年齡:%d", name->valuestring, age->valueint);
使用JSON解析庫遍歷JSON數(shù)據(jù)簡單易學(xué),對于需要處理JSON的開發(fā)者來說是必備技能之一。