Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

PLSQL em loop através do objeto JSON


No Oracle 12, você pode usar tipos de objeto JSON PL/SQL para iterar sobre o array JSON e extrair o valor do group atributo dos objetos:
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;
/

Quais saídas: