Parameterhållare förstås inte inuti bokstaver:'...:nom...' kommer att innehålla tecknen :nom , inte de bundna värdena för nom .
För PostgreSQL 9.5 (och senare), använd:
SELECT * FROM contrat WHERE contrat_json @> jsonb_build_object('nom', :nom)
För 9.4:
SELECT * FROM contrat WHERE contrat_json @> CAST(json_build_object('nom', :nom) AS jsonb)
För 9.3 (och tidigare) finns det ingen JSON-inneslutningsoperatör (inte heller jsonb typ).
https://rextester.com/AUHP11519