Sie könnten den Benutzern erlauben, einen Pfad innerhalb des JSON-Dokuments anzugeben, und diesen Pfad dann innerhalb eines Aufrufs einer Funktion wie json_extract_path_text
. Das heißt, die WHERE-Klausel würde folgendermaßen aussehen:
WHERE json_extract_path_text(data, $1) = $2
Das Pfadargument ist nur eine einfach zu parametrisierende Zeichenkette, die die Tasten beschreibt, die bis zum angegebenen Wert durchlaufen werden sollen, z. 'foo.bars[0].name'
. Die rechte Seite der Klausel würde nach denselben Regeln parametrisiert, die Sie für die feste Spaltenfilterung verwenden.