在當今大數據時代下,json數據庫逐漸成為選擇的主流,其數據格式簡單易讀,輕便高效性能,而c語言解析json庫能夠對json數據庫進行讀取、解析等作用,幫助我們更快捷地處理json數據。
目前c語言提供了多種在線json解析庫,其中jejson、cJSON、Jansson三個庫使用廣泛。這里介紹cJSON的使用方法。
1.在程序中包含頭文件cJSON.h,并定義cJSON的根結構體。例如:
#include "cJSON.h" int main() { cJSON *root = NULL; }
2.創建json文件字符串或者從文件中讀取json數據。
char json_str[] = "{\"name\":\"lucy\", \"age\": 18, \"gender\": \"female\", \"phone\": [\"12345678901\",\"23456789012\"]}";
3.對json數據進行解析,用cJSON_Parse方法將json字符串解析成cJSON數據對象。
root = cJSON_Parse(json_str); if(!root) { printf("Error before: [%s]\n",cJSON_GetErrorPtr()); }
4.對json數據進行訪問操作,如獲取對象、數組或者元素等。
cJSON *name = cJSON_GetObjectItem(root,"name");//獲取對象 printf("%s\n",name->valuestring);//打印對象值 cJSON *arr = cJSON_GetObjectItem(root, "phone");//獲取數組 cJSON *arr_val_1 = cJSON_GetArrayItem(arr, 0);//獲取第一個元素 printf("%s\n", arr_val_1->valuestring);//打印第一個元素值
5.解析完畢后,手動釋放cJSON數據對象,避免內存泄露。
cJSON_Delete(root); root = NULL;
以上五步,就可以簡單地實現對json文件的讀取、解析和訪問操作。通過cJSON庫在線解析json數據,我們可以更加快捷、輕量級地把json文件的數據讀取到程序中,為我們的數據處理帶來了不少便利。