Mảng javascript cuối cùng

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]') 5

json_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') foo

json_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)

setof record Xây dựng một tập hợp các bản ghi tùy ý từ một mảng các đố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_recordset('[{"a". 1,"b". "foo"},{"a". "2","c". "bar"}]') dưới dạng x(a int, b text);
 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 JSON

jsonb_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_______