Gebruik de ->> operator voor het ophalen van het json-veld.
Dit zou moeten werken en null teruggeven (zoals in, geen waarde) correct voor beide:
select ('{"id": null}'::json->>'id')::text
select ('{"id": null}'::json->>'id')::integer
Ik heb een viool gemaakt dat demonstreert het
PS:om de string "null" te krijgen , moet u uw json definiëren als:{"id": "null"}