Oracle
 sql >> Database >  >> RDS >> Oracle

PLSQL in loop tramite l'oggetto JSON

Da Oracle 12, puoi utilizzare i tipi di oggetto JSON PL/SQL per scorrere l'array JSON ed estrarre il valore del group attributo degli oggetti:

DECLARE
  value VARCHAR2(4000) := '[{"group":"groupa","status":"active"},{"group":"groupb","status":"inactive"}]';
  ja JSON_ARRAY_T := JSON_ARRAY_T.PARSE(value);
  je JSON_ELEMENT_T;
  grp VARCHAR2(20);
  i  PLS_INTEGER := 0;
BEGIN
  LOOP
    je := ja.GET(i);
    EXIT WHEN je IS NULL;
    grp := TREAT(je AS JSON_OBJECT_T).get_string('group');
    DBMS_OUTPUT.PUT_LINE(grp);
    i := i + 1;
  END LOOP;
END;
/

Quali uscite: