在C語(yǔ)言中,操作JSON數(shù)據(jù)是非常常見(jiàn)的,而模糊查詢是其中一個(gè)最常用的功能之一。
JSON表中的模糊查詢可以用于查找包含某個(gè)關(guān)鍵字的所有項(xiàng)目。我們可以使用標(biāo)準(zhǔn)的C庫(kù)函數(shù)來(lái)實(shí)現(xiàn)這個(gè)功能。下面是一個(gè)基本的例子:
cJSON *root = cJSON_Parse(jsonString); cJSON *array = cJSON_GetObjectItem(root, "items"); const char *keyword = "apple"; int match_count = 0; cJSON *item = NULL; cJSON_ArrayForEach(item, array) { cJSON *name = cJSON_GetObjectItem(item, "name"); if (strstr(name->valuestring, keyword) != NULL) { // 匹配到了關(guān)鍵字 printf("Item: %s\n", cJSON_PrintUnformatted(item)); match_count ++; } } printf("Total matches: %d\n", match_count);
通過(guò)遍歷數(shù)組,我們可以對(duì)每一項(xiàng)進(jìn)行查詢,并檢查是否包含了特定的關(guān)鍵字。如果匹配成功,我們就可以打印出項(xiàng)目的詳情,并增加匹配計(jì)數(shù)器。
大多數(shù)JSON庫(kù)都提供了類似的函數(shù),用于查詢和操作JSON數(shù)據(jù)。在實(shí)際代碼中,我們可能會(huì)使用更復(fù)雜的查詢邏輯,或者結(jié)合其他功能來(lái)實(shí)現(xiàn)更豐富的功能。