Du kan tillåta användarna att ange en sökväg i JSON-dokumentet och sedan parametrera den sökvägen i ett anrop till en funktion som json_extract_path_text
. Det vill säga, WHERE-satsen skulle se ut så här:
WHERE json_extract_path_text(data, $1) = $2
Sökvägsargumentet är bara en sträng, lätt att parametriseras, som beskriver nycklarna att gå ner till det givna värdet, t.ex. 'foo.bars[0].name'
. Den högra sidan av satsen skulle parametriseras enligt samma regler som du använder för fast kolumnfiltrering.