I detentori dei parametri non sono compresi nei valori letterali:'...:nom...' conterrà i caratteri :nom , non i valori vincolati di nom .
Per PostgreSQL 9.5 (e versioni successive), utilizzare:
SELECT * FROM contrat WHERE contrat_json @> jsonb_build_object('nom', :nom)
Per 9.4:
SELECT * FROM contrat WHERE contrat_json @> CAST(json_build_object('nom', :nom) AS jsonb)
Per 9.3 (e precedenti), non esiste un operatore di contenimento JSON (né il jsonb tipo).
https://rextester.com/AUHP11519