Re: returning json data row from json query

From: Merlin Moncure <mmoncure(at)gmail(dot)com>
To: David Johnston <polobo(at)yahoo(dot)com>
Cc: PostgreSQL General <pgsql-general(at)postgresql(dot)org>
Subject: Re: returning json data row from json query
Date: 2014-01-06 17:48:35
Message-ID: CAHyXU0x16ZvFZiVKRNKK=BRdOnUZjdsg4NJJcV3s7G4s0RCbLg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Sat, Jan 4, 2014 at 1:44 AM, David Johnston <polobo(at)yahoo(dot)com> wrote:
> john.tiger wrote
>> select * from users where jsondata->>'username' = 'jdoe' works but
>> returns field names, etc besides the data row. how can we get json
>> data back ?
>>
>> select row_to_json from users where jsondata->>'username'='jdoe' didn't
>> work.
>>
>> any ideas ? thks.
>
> Using what client? There is no way, using SQL, to get a non-table output;
> but your client might give you ways to ignore or suppress the column name.

I'm guessing OP is asking about psql? Typically when getting 'just
the data', I'll do something like:

psql -XtAqc"select ..."

-X disables .psqlrc (so no \timing) and tAq basically turn off all
output except for the data itself and the field delimiter (if any).

> And row_to_json is a function, you have to pass argument(s) to it to use it.
> There is documentation explaining how to do so and what the end result will
> look like.

Yeah -- for posterity,

select row_to_json(u) from users u where jsondata->>'username'='jdoe';

table-aliases-as-arguments isn't a common practice outside of postgresql...

merlin

In response to

Browse pgsql-general by date

  From Date Subject
Next Message AI Rumman 2014-01-06 19:57:20 EMC SRDF technology for creating replication with Postgresql?
Previous Message Tom Lane 2014-01-06 17:25:37 Re: How to check for pending CancelRequest from C/C++ function