Questo illustra bene il problema:
Quando la colonna b è di tipo testo e non un array, funziona come segue:
select *
from json_to_record('{"a":1,"b":["hello", "There"],"c":"bar"}')
as x(a int, b text, d text);
a | b | d
---+--------------------+---
1 | ["hello", "There"] |
Ma se definisco la b
colonna come un array, ottengo questo errore:
select *
from json_to_record('{"a":1,"b":["hello", "There"],"c":"bar"}')
as x(a int, b text[], d text)
ERROR: malformed array literal: "["hello", "There"]"
DETAIL: "[" must introduce explicitly-specified array dimensions.
Come posso convincere / forzare json_to_record
(o json_populate_record
) a convertire un array JSON nell'array Postgres del tipo di colonna di destinazione?