Parameterholdere forstås ikke inden for bogstaver:'...:nom...' vil indeholde tegnene :nom , ikke de bundne værdier af nom .
Til PostgreSQL 9.5 (og nyere), brug:
SELECT * FROM contrat WHERE contrat_json @> jsonb_build_object('nom', :nom)
For 9.4:
SELECT * FROM contrat WHERE contrat_json @> CAST(json_build_object('nom', :nom) AS jsonb)
For 9.3 (og tidligere) er der ingen JSON-indeslutningsoperatør (hverken jsonb type).
https://rextester.com/AUHP11519