Vous pouvez autoriser les utilisateurs à spécifier un chemin dans le document JSON, puis paramétrer ce chemin dans un appel à une fonction telle que json_extract_path_text
. Autrement dit, la clause WHERE ressemblerait à :
WHERE json_extract_path_text(data, $1) = $2
L'argument path est juste une chaîne, facilement paramétrable, qui décrit les clés à parcourir jusqu'à la valeur donnée, par ex. 'foo.bars[0].name'
. Le côté droit de la clause serait paramétré selon les mêmes règles que celles que vous utilisez pour le filtrage de colonne fixe.