Unpacking JSON into 14 columns without crosstab() and tablefunc?
Unpack your JSON to separate rows using
SELECT json_unpacking.foo, 
       values.value, 
       ROW_NUMBER() OVER (PARTITION BY foo) value_number
FROM json_unpacking
CROSS JOIN json_each(json_unpacking.bar) values

Then combine it back into needed row structure using grouping and conditional aggregation.