CJSON是一個輕量的JSON解析庫,使用C語言編寫。使用CJSON可以方便地遍歷JSON數據,處理JSON數據文件。下面將介紹如何使用CJSON遍歷JSON數據。
// 遍歷JSON數組 cJSON *json_array = cJSON_Parse("[\"a\", \"b\", \"c\"]"); if (json_array != NULL && cJSON_IsArray(json_array)) { cJSON *json_item = NULL; cJSON_ArrayForEach(json_item, json_array) { printf("%s ", json_item->valuestring); } } // 遍歷JSON對象 cJSON *json_object = cJSON_Parse("{\"key1\": \"value1\", \"key2\": \"value2\"}"); if (json_object != NULL && cJSON_IsObject(json_object)) { cJSON *json_item = NULL; cJSON_ArrayForEach(json_item, json_object) { printf("%s:%s\n", json_item->string, json_item->valuestring); } }
CJSON提供了兩個常用的宏:cJSON_IsArray和cJSON_IsObject,用于判斷json指針是否指向一個數組或對象。
cJSON_ArrayForEach宏可以遍歷一個數組或對象,第一個參數是用于迭代的指針,第二個參數是用于迭代的數組或對象。
在遍歷對象時,json_item指向的是對象的值,而json_item->string指向的是對象的鍵。