在C語言中,要遍歷JSON鍵值對需要用到一些庫,比如cJSON。
首先,需要定義一個cJSON類型的指針,并用cJSON_Parse函數來解析JSON字符串:
cJSON *root = cJSON_Parse(json_str); if (root == NULL) { printf("JSON解析失敗\n"); return; }
接著,可以使用cJSON_GetObjectItem函數獲取JSON對象中的某個鍵值對:
cJSON *item = cJSON_GetObjectItem(root, "key"); if (item == NULL) { printf("不存在該鍵值對\n"); return; } printf("值為:%s\n", item->valuestring);
如果JSON對象中有多組鍵值對,可以使用cJSON_ArrayForEach來遍歷:
cJSON *array = cJSON_GetObjectItem(root, "key"); if (array == NULL) { printf("不存在該鍵值對\n"); return; } cJSON_ArrayForEach(item, array) { printf("值為:%s\n", item->valuestring); }
最后,別忘了在使用完cJSON后,要用cJSON_Delete釋放內存:
cJSON_Delete(root);