隨著近年來Web開發日益火熱,對JSON解析的速度要求也越來越高,C語言因其高效的運行速度和靈活的編譯方式,成為了解析JSON的理想選擇。
#include <stdio.h> #include <cjson/cJSON.h> int main() { char *json_str="{\"name\":\"Mary\", \"age\":18, \"hobby\":[\"reading\", \"singing\"]}"; cJSON *root=cJSON_Parse(json_str); printf("name: %s\n", cJSON_GetObjectItem(root,"name")->valuestring); printf("age: %d\n", cJSON_GetObjectItem(root,"age")->valueint); cJSON *hobby=cJSON_GetObjectItem(root,"hobby"); printf("hobby1: %s\n", cJSON_GetArrayItem(hobby,0)->valuestring); printf("hobby2: %s\n", cJSON_GetArrayItem(hobby,1)->valuestring); cJSON_Delete(root); return 0; }
上述代碼使用了C語言中的cJSON庫,通過json_str字符串中的JSON數據構造一個cJSON對象。可以使用cJSON_GetObjectItem函數獲取JSON對象中的指定元素,這里可以看到通過此函數獲取到的結果就是字符串或整數等基本數據類型。另外,使用cJSON_GetArrayItem函數可以獲取JSON數組中的指定元素。
值得一提的是,cJSON庫具有靈活的內存操作,可以在使用完畢后通過cJSON_Delete函數釋放內存,避免程序出現內存泄漏的問題。
總的來說,C語言是解析JSON數據的高效工具,而cJSON作為C語言解析JSON數據的常用庫之一,更是方便快捷。在實際開發中,可以根據項目的需求選擇合適的JSON解析方式,以保證代碼的效率和可靠性。
上一篇c解析 json轉數組
下一篇vue json對象解析