Re: json_array_elements_text?

Поиск
Список
Период
Сортировка
От Marti Raudsepp
Тема Re: json_array_elements_text?
Дата
Msg-id CABRT9RBTKzSWvuwd7ztXx=b7Sh0Z4gutdXPeE=j30sfV5acCMA@mail.gmail.com
обсуждение исходный текст
Ответ на json_array_elements_text?  (Laurence Rowe <l@lrowe.co.uk>)
Ответы Re: json_array_elements_text?
Список pgsql-general
On Fri, Jan 17, 2014 at 10:20 AM, Laurence Rowe <l@lrowe.co.uk> wrote:
> I'm trying to unpack a json array into it's constituent text values so I can
> join them to a table. I can successfully unpack json values, but am having
> trouble converting these to text so I can cast them to the UUIDs needed for
> the join.

You're right, this seems to be a glaring omission in our JSON support.
I can't see any patches queued for 9.4 that would implement this,
either.

> http://dba.stackexchange.com/questions/54283/how-to-turn-json-array-into-postgres-array
> suggest using trim, and this does work:

This trick doesn't take care of properly unescaping the JSON string,
although it will work for UUID values.

This solution is just as hacky, but you can use array extraction
functions to properly convert it to text:

CREATE FUNCTION json_text(json) RETURNS text IMMUTABLE LANGUAGE sql
AS $$ SELECT ('['||$1||']')::json->>0 $$;

Regards,
Marti


В списке pgsql-general по дате отправления:

Предыдущее
От: Andreas Lubensky
Дата:
Сообщение: Re: Positional parameters and question mark notation
Следующее
От: Marti Raudsepp
Дата:
Сообщение: Re: json_array_elements_text?