change JSON serialization for BIGINT? - Mailing list pgsql-general

From Tim McLaughlin
Subject change JSON serialization for BIGINT?
Date
Msg-id 536dca0f-ef1a-4621-ac1f-9c1c1dd74fbd@Spark
Whole thread Raw
Responses Re: change JSON serialization for BIGINT?
List pgsql-general
Is there a way to have Postgres serialize BIGINT as a string rather than number in JSON?  By default it does this:


select row_to_json(row(500::bigint));
 row_to_json 
-------------
 {"f1":500}

But I want it to do this (note that "500" is quoted):

select row_to_json(row(500::bigint));
 row_to_json 
-------------
 {"f1":"500"}

I tried doing this, but it has no effect:

CREATE or replace FUNCTION bigintJson(bigint) RETURNS json
    AS 'select $1::text::json;'
    LANGUAGE SQL IMMUTABLE RETURNS NULL ON NULL INPUT;

create cast (bigint as json) with function bigintJson(bigint) as implicit;

Thanks for any guidance.

--
Tim McLaughlin

pgsql-general by date:

Previous
From: Paul Foerster
Date:
Subject: Re: DB Switchover using repmgr--Error
Next
From: Victor Yegorov
Date:
Subject: Re: change JSON serialization for BIGINT?