C JSON 是一個非常流行的解析 JSON 數據的庫,可以讓我們輕松地在 C 語言中使用 JSON 數據。大多數情況下,我們可能不需要處理 JSON 數據的所有字段,只需要提取其中的一些關鍵字段。今天,我們將學習如何使用 C JSON 過濾部分字段。
json_object_object_get_ex(obj, "key", &val);
在 C JSON 中,我們可以使用json_object_object_get_ex
函數來獲取我們需要的鍵值對。這個函數可以檢查訪問的鍵值對是否存在,如果存在則返回 true,并將指向值的指針存儲在指定的變量中。
例如,我們有一個 JSON 字符串如下:
{ "name": "張三", "age": 25, "gender": "男", "address": { "province": "北京", "city": "朝陽區", "street": "XXX街道" } }
如果我們只需要提取 "name" 和 "address" 字段,我們可以這樣做:
json_object *name, *address; json_object_object_get_ex(obj, "name", &name); json_object_object_get_ex(obj, "address", &address);
現在,我們已經成功提取了 "name" 和 "address" 字段。為了獲得更細節的數據,我們可以繼續使用json_object_object_get_ex
函數來獲取內部字段。
json_object *province, *city, *street; json_object_object_get_ex(address, "province", &province); json_object_object_get_ex(address, "city", &city); json_object_object_get_ex(address, "street", &street);
最后,我們可以使用json_object_get_string
函數來獲取字符串數據。例如:
const char *name_str = json_object_get_string(name); const char *province_str = json_object_get_string(province);
這些代碼片段演示了如何使用 C JSON 過濾部分字段。通過這種方式,我們將能夠更輕松地處理 JSON 數據,并使用我們需要的數據來完成我們的項目。