在C語言中,循環判斷JSON對象屬性是一個常見的操作。在進行此操作時,我們需要使用CJSON庫來解析JSON數據,然后通過循環來遍歷JSON對象的屬性。
//導入頭文件 #include "cJSON.h" int main() { //創建JSON字符串 char *json_str = "{\"name\":\"小明\",\"age\":20,\"gender\":\"male\"}"; //解析JSON數據 cJSON *root = cJSON_Parse(json_str); if (!root) { printf("JSON解析失敗!"); return 1; } //循環遍歷JSON對象的屬性 cJSON *item = NULL; cJSON_ArrayForEach(item, root) { //判斷屬性名稱和屬性值類型 if (strcmp(item->string, "name") == 0 && cJSON_IsString(item)) { printf("我叫 %s\n", item->valuestring); } else if (strcmp(item->string, "age") == 0 && cJSON_IsNumber(item)) { printf("我今年 %d 歲\n", item->valueint); } else if (strcmp(item->string, "gender") == 0 && cJSON_IsString(item)) { printf("我的性別是 %s\n", item->valuestring); } } //釋放JSON數據所占用的內存 cJSON_Delete(root); return 0; }
以上代碼演示了遍歷JSON對象屬性的示例。我們首先使用cJSON_Parse函數解析JSON字符串,得到一個cJSON對象指針。然后,使用cJSON_ArrayForEach函數遍歷JSON對象的屬性。在遍歷時,我們使用strcmp函數比較屬性名稱,并使用cJSON_IsXXX函數判斷屬性值類型。最后,我們釋放cJSON對象所占用的內存,程序結束。
上一篇dw下的json
下一篇python 矩陣的格式