12.2 chứa một tập hợp các đối tượng PL / SQL có thể được sử dụng để xây dựng cấu trúc DOM giống như một tài liệu JSON. Sau đó, bạn có thể trích xuất danh sách khóa, v.v. bằng cách sử dụng các phương pháp trên các đối tượng. Tìm trong tài liệu 12.2 cho JSON_OBJECT_T, JSON_ARRAY_T, v.v. có thể được sử dụng như thế này ..
SQL> create or replace type NV_PAIR_T as object (
2 NAME VARCHAR2(32),
3 VALUE VARCHAR2(32)
4 )
5 /
Type created.
SQL> create or replace type NV_PAIR_TABLE as TABLE of NV_PAIR_T
2 /
Type created.
SQL> create or replace function GET_KEY_VALUES(P_JSON_DOC VARCHAR2)
2 return NV_PAIR_TABLE PIPELINED
3 as
4 JO JSON_OBJECT_T := JSON_OBJECT_T(P_JSON_DOC);
5 JO_KEYS JSON_KEY_LIST := JO.get_keys();
6 begin
7
8 for i in 1..JO_KEYS.count loop
9 pipe row (NV_PAIR_T(JO_KEYS(i),JO.get_string(JO_KEYS(i))));
10 end loop;
11 end;
12 /
Function created.
SQL> select *
2 from TABLE(GET_KEY_VALUES('{"A":"AA", "B":"BB", "C":"CC"}'))
3 /
A AA
B BB
C CC
SQL>
Điều này có giúp ích gì không