Oracle
 sql >> Base de données >  >> RDS >> Oracle

ORACLE - Tableau des paires JSON vers clé-valeur

12.2 contient un ensemble d'objets PL/SQL qui peuvent être utilisés pour construire une structure de type DOM d'un document JSON. Vous pouvez ensuite extraire des listes de clés, etc. en utilisant des méthodes sur les objets. Regardez dans la doc 12.2 pour JSON_OBJECT_T, JSON_ARRAY_T etc qui peuvent être utilisés comme ça..

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>

Est-ce que cela aide