在使用 C 語言進行 JSON 解析時,我們經常需要判斷一個 JSON 對象中是否含有某個特定的 key 值。以下是一種實現方法:
/* include json-c library */ #include <json-c/json.h> /* check if json_object has key "target" */ json_object *jobj = json_object_new_object(); bool has_target = json_object_object_get_ex(jobj, "target", &jval); if (has_target) { /* do something with the value of target */ } else { /* handle the case where target is not present */ }
上述代碼中,我們首先使用 json_object_new_object 函數創建了一個 json_object 對象,這個對象中并沒有包含 key 值為 "target" 的元素。然后,我們使用 json_object_object_get_ex 函數,該函數可以幫助我們在 jobj 對象中查找是否包含 key 值為 "target" 的元素。如果找到了,函數會將該元素的 value 存儲在 jval 變量中,并返回 true。否則,函數返回 false。
我們可以根據函數返回的結果來判斷一個 JSON 對象是否包含某個 key 值。如果包含,我們可以進一步操作該元素的 value;如果不包含,我們可以按照需求執行相關邏輯。