Hàm Trả về Kiểu Mô tả Ví dụ Ví dụ Kết quả
json_array_length[json]
jsonb_array_length[jsonb]
int Trả về số phần tử trong mảng JSON ngoài cùng. json_array_length['[1,2,3,{"f1". 1,"f2". [5,6]},4]'] 5json_each[json]
jsonb_each[jsonb]
setof văn bản chính, giá trị json
setof văn bản chính, giá trị jsonb
Mở rộng đối tượng JSON ngoài cùng thành một tập hợp các cặp khóa/giá trị. chọn * từ json_each['{"a". "foo", "b". "thanh"}']key | value -----+------- a | "foo" b | "bar"
json_each_text[json]
jsonb_each_text[jsonb]
setof văn bản chính, văn bản giá trị Mở rộng đối tượng JSON ngoài cùng thành một tập hợp các cặp khóa/giá trị. Các giá trị trả về sẽ thuộc loại văn bản. chọn * từ json_each_text['{"a". "foo", "b". "thanh"}']____1_______json_extract_path[từ_json json, văn bản VARIADIC path_elems[]]
jsonb_extract_path[từ_json jsonb, văn bản VARIADIC path_elems[]]
json
jsonb
Trả về giá trị JSON được trỏ tới bởi path_elems [tương đương với toán tử #>]. json_extract_path['{"f2". {"f3". 1},"f4". {"f5". 99,"f6". "foo"}}','f4'] {"f5". 99,"f6". "foo"}json_extract_path_text[từ_json json, văn bản VARIADIC path_elems[]]
jsonb_extract_path_text[từ_json jsonb, văn bản VARIADIC path_elems[]]
văn bản Trả về giá trị JSON được trỏ tới bởi path_elems dưới dạng văn bản [tương đương với toán tử #>>]. json_extract_path_text['{"f2". {"f3". 1},"f4". {"f5". 99,"f6". "foo"}}','f4', 'f6'] foojson_object_keys[json]
jsonb_object_keys[jsonb]
văn bản setof Trả về tập hợp các khóa trong đối tượng JSON ngoài cùng. json_object_keys['{"f1". "abc","f2". {"f3". "a", "f4". "b"}}']____2_______json_populate_record[bất kỳ phần tử cơ sở nào, from_json json]
jsonb_populate_record[bất kỳ phần tử cơ sở nào, from_json jsonb]
anyelement Mở rộng đối tượng trong from_json thành một hàng có các cột khớp với loại bản ghi được xác định bởi cơ sở [xem ghi chú bên dưới]. chọn * từ json_populate_record[null. myrowtype, '{"a". 1,"b". 2}']a | b ---+--- 1 | 2
json_populate_recordset[bất kỳ phần tử cơ sở nào, from_json json]
jsonb_populate_recordset[bất kỳ phần tử cơ sở nào, from_json jsonb]
setof anyelement Mở rộng mảng đối tượng ngoài cùng trong from_json thành một tập hợp các hàng có cột khớp với loại bản ghi được xác định bởi cơ sở [xem ghi chú bên dưới]. chọn * từ json_populate_recordset[null. myrowtype, '[{"a". 1,"b". 2},{"a". 3,"b". 4}]']____4_______json_array_elements[json]
jsonb_array_elements[jsonb]
tập hợp json
tập hợp jsonb
Mở rộng một mảng JSON thành một tập hợp các giá trị JSON. select * from json_array_elements['[1,true, [2,false]]']value ----------- 1 true [2,false]
json_array_elements_text[json]
jsonb_array_elements_text[jsonb]
văn bản setof Mở rộng một mảng JSON thành một tập hợp các giá trị văn bản. chọn * từ json_array_elements_text['["foo", "bar"]']_______6_______json_typeof[json]
jsonb_typeof[jsonb]
văn bản Trả về loại giá trị JSON ngoài cùng dưới dạng chuỗi văn bản. Các loại có thể là đối tượng, mảng, chuỗi, số, boolean và null. json_typeof['-123. 4'] sốjson_to_record[json]
jsonb_to_record[jsonb]
record Tạo một bản ghi tùy ý từ một đối tượng JSON [xem ghi chú bên dưới]. Như với tất cả các hàm trả về bản ghi, người gọi phải xác định rõ ràng cấu trúc của bản ghi bằng mệnh đề AS. chọn * từ json_to_record['{"a". 1,"b". [1,2,3],"c". "bar"}'] dưới dạng x[a int, b text, d text]a | b | d ---+---------+--- 1 | [1,2,3] |
json_to_recordset[json]
jsonb_to_recordset[jsonb]
a | b ---+----- 1 | foo 2 |
json_strip_nulls[từ_json json]
jsonb_strip_nulls[từ_json jsonb]
json
jsonb
Trả về from_json với tất cả các trường đối tượng có giá trị null bị bỏ qua. Các giá trị null khác không bị ảnh hưởng. json_strip_nulls['[{"f1". 1,"f2". null},2,null,3]'] [{"f1". 1},2,null,3]jsonb_set[jsonb đích, văn bản đường dẫn[], new_value jsonb [, boolean tạo_missing]]
jsonb
Trả về mục tiêu có phần được chỉ định bởi đường dẫn được thay thế bằng giá trị_mới hoặc được thêm giá trị_mới nếu create_missing là đúng [mặc định là đúng] và mục được chỉ định bởi đường dẫn không tồn tại. Cũng giống như các toán tử hướng đường dẫn, các số nguyên âm xuất hiện trong đường dẫn được tính từ cuối mảng JSONjsonb_set['[{"f1". 1,"f2". null},2,null,3]', '{0,f1}','[2,3,4]', sai]
jsonb_set['[{"f1". 1,"f2". null},2]', '{0,f3}','[2,3,4]']
[{"f1". [2,3,4],"f2". null},2,null,3]
[{"f1". 1, "f2". không, "f3". [2, 3, 4]}, 2]
jsonb_pretty[từ_json jsonb]
chữ
Trả về from_json dưới dạng văn bản JSON được thụt lề. jsonb_pretty['[{"f1". 1,"f2". null},2,null,3]']____9_______