Function jsonb_to_array

Source
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}');