在C語言中使用JSON作為參數傳入函數的時候,需要對傳入的JSON數據進行判空操作,避免出現異常情況。下面我們來介紹如何進行C JSON參數傳入非空檢驗。
cJSON *json = cJSON_Parse(json_str); if(!json){ //json為空 return; } cJSON *name = cJSON_GetObjectItem(json, "name"); if(!name){ //name為空 cJSON_Delete(json); return; } //繼續處理name //...... cJSON_Delete(json);
CJSON_Parse()函數用于將json字符串解析為JSON對象,并返回該對象,如果解析失敗則返回NULL。我們需要對該返回值進行判斷,如果其為NULL,則說明傳入的json數據為空,需要進行處理。
cJSON_GetObjectItem()函數用于獲取JSON對象中指定key的value,如果該value不存在則返回NULL。我們需要對該返回值進行判斷,如果其為NULL,則說明傳入的json數據中沒有該key,需要進行處理。
最后需要注意的是,在程序結束時需要通過cJSON_Delete()函數釋放由cJSON_Parse()函數生成的JSON對象,避免內存泄漏。
上一篇vue封裝網絡請求
下一篇python 軟件加密