이것은 문제를 잘 보여줍니다.
열 b가 텍스트 유형이고 배열이 아닌 경우 다음이 작동합니다.
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"] |
그러나 b
열을 배열로 정의하면 이 오류가 발생합니다.
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.
JSON 배열을 대상 열 유형의 Postgres 배열로 변환 하도록 설득 / 강압 json_to_record
(또는 json_populate_record
)하려면 어떻게해야합니까?