fn jsonb_to_array(v: JsonbRef<'_>) -> Result<ListValue>
Expand description
Converts the a JSONB array to a SQL array of JSONB elements.
This is equivalent to jsonb_array_elements
followed by array_agg
or array
in most cases.
query T
select
input,
(select array_agg(v) from jsonb_array_elements(input) as v) as array_agg,
array(select jsonb_array_elements(input)),
jsonb_to_array(input)
from (values
(null::jsonb),
('[]'::jsonb)
) as t(input);
----
NULL NULL {} NULL
[] NULL {} {}
query T
select jsonb_to_array('[1,"foo",null,true,[false,"bar"],{"a":2}]');
----
{1,"\"foo\"","null",true,"[false, \"bar\"]","{\"a\": 2}"}
query error parsing
select jsonb_to_array('');
query error cannot extract elements from a jsonb object
select jsonb_to_array('{"a": 1}');