jsonb: unwrapping text - Mailing list pgsql-general

From
Subject jsonb: unwrapping text
Date
Msg-id 20211027185807.GA31130@tuxteam.de
Whole thread Raw
Responses Re: jsonb: unwrapping text
List pgsql-general
Hi,

I'm trying to extract text from a jsonb 'string'. Simply casting
gives me the string wrapped in quotes:

  foo=# select '"foo"'::jsonb::text;
   text
  -------
   "foo"
  (1 row)

This, of course, makes kind of sense, since it /is/ the JSON's
textual representation.

What is the canonical way to get at the string's content itself?

I've found out that one can treat a string singleton as if it
were an array:

  foo=# select '"foo"'::jsonb ->> 0;
   ?column?
  ----------
   foo
  (1 row)

which conveniently returns the right type. My question: can I rely
on that, or am I missing a much more obvious option?

(I try to stay compatible down to PostgreSQL 11, 9 when possible.
Conservative customers and that).

Thanks for any insights, cheers
-- tomás

Attachment

pgsql-general by date:

Previous
From: SQL Padawan
Date:
Subject: Re: Strange sequences - how to construct?
Next
From: Louise Grandjonc
Date:
Subject: Segmentation fault in volatile c function