C語言是一門強大的編程語言,它不僅可以操作基本的數據類型,還能操作復雜的數據類型,如JSON數據庫。在本文中,我們將討論如何循環JSON數據庫。
#include#include #include #include "cJSON.h" void loop_json(cJSON *json) { if (json == NULL) { printf("json is null\n"); return; } if (json->type == cJSON_Object) { cJSON *child = json->child; while (child != NULL) { printf("obj [%s]:\n", child->string); loop_json(child); child = child->next; } } else if (json->type == cJSON_Array) { cJSON *child = json->child; while (child != NULL) { printf("array:\n"); loop_json(child); child = child->next; } } else { printf("value [%s]:%s\n", cJSON_String, json->valuestring); } } int main() { const char *json_str = "{\ \"name\":\"json example\",\ \"type\":\"database\",\ \"count\":3,\ \"list\":[{\"id\":1,\"name\":\"go\"},\ {\"id\":2,\"name\":\"python\"},\ {\"id\":3,\"name\":\"c++\"}]\ }"; cJSON *json = cJSON_Parse(json_str); loop_json(json); cJSON_Delete(json); return 0; }
在上面的代碼中,我們使用了cJSON庫解析了一個JSON字符串。如果JSON對象是一個對象,我們使用一個while循環遍歷它的每一個子元素,然后遞歸地調用loop_json()函數。如果JSON對象是一個數組,我們同樣使用一個while循環遍歷它的每一個元素,并遞歸地調用loop_json()函數。如果JSON對象是一個值,則直接輸出其值。
總的來說,循環JSON數據庫并不是很難。使用cJSON庫,我們只需要一些簡單的代碼即可完成這個任務。
上一篇python 知乎登錄
下一篇c 怎么引用 json