Użyj ->>
operator do pobierania pola json.
To powinno działać i zwrócić null
(jak w, bez wartości) poprawnie dla obu:
select ('{"id": null}'::json->>'id')::text
select ('{"id": null}'::json->>'id')::integer
Mam skrzypce co to demonstruje
PS:aby uzyskać ciąg "null"
, musisz zdefiniować swój json jako:{"id": "null"}