You can expand the JSON array using jsonb_array_elements (when using jsonb) or json_array_elements (when using json), or directly to text using jsonb_array_elements_text (when using jsonb) or json_array_elements_text (when using json), and then turn them into a PostgreSQL array using array_agg.
WITH json_data(x, y) AS (
VALUES ('["a", "b", "c"]'::jsonb, '["c", "d", "e"]'::jsonb),
('["a", "b", "c"]'::jsonb, '["g", "h", "i"]'::jsonb)
)
, array_data AS (
SELECT x, (SELECT array_agg(e) AS arr FROM jsonb_array_elements_text(x) e) AS xarr,
y, (SELECT array_agg(e) AS arr FROM jsonb_array_elements_text(y) e) AS yarr
FROM json_data
)
SELECT x, y, xarr, yarr, xarr && yarr AS with_intersection FROM array_data
This produced these results:
x | y | xarr | yarr | with_intersection
-----------------+-----------------+---------+---------+-------------------
["a", "b", "c"] | ["c", "d", "e"] | {a,b,c} | {c,d,e} | t
["a", "b", "c"] | ["g", "h", "i"] | {a,b,c} | {g,h,i} | f
(2 rows)
jsonbtype, or if one of them already is provided astext[]. (I was assuming the former.)