Можете да позволите на потребителите да посочат път в JSON документа и след това да параметризирате този път в извикване на функция като json_extract_path_text
. Тоест клаузата WHERE ще изглежда така:
WHERE json_extract_path_text(data, $1) = $2
Аргументът на пътя е просто низ, лесно параметризиран, който описва ключовете за преминаване надолу до дадената стойност, напр. 'foo.bars[0].name'
. Дясната страна на клаузата ще бъде параметризирана по същите правила, които използвате за филтриране на фиксирани колони.