Sử dụng cột jsonb (không phải jsonb []!) Với cấu trúc như sau:
select
'[{
"adresse_line-1": "a11",
"adresse_line-2": "a12",
"postalcode": "code1"
},
{
"adresse_line-1": "a21",
"adresse_line-2": "a22",
"postalcode": "code2"
}
]'::jsonb;
Tuy nhiên, một bảng thông thường liên quan đến bảng chính là một lựa chọn tốt hơn.
Tại sao không phải là jsonb []? Hãy xem định nghĩa JSON:
JSON được xây dựng trên hai cấu trúc:
- Tập hợp các cặp tên / giá trị. Trong các ngôn ngữ khác nhau, điều này được thực hiện dưới dạng một đối tượng, bản ghi, cấu trúc, từ điển, bảng băm, danh sách có khóa hoặc mảng kết hợp.
- Danh sách các giá trị có thứ tự. Trong hầu hết các ngôn ngữ, điều này được coi là một mảng , vectơ, danh sách hoặc chuỗi.
Do đó, trong một cột jsonb, bạn có thể lưu trữ một mảng các đối tượng. Các nỗ lực sử dụng mảng jsonb có thể là do sự hiểu lầm về kiểu dữ liệu này. Tôi chưa bao giờ thấy cần có một giải pháp hợp lý như vậy.